Hi,
I’m trying to build a SVG image with vg into a buffer, convert it to PNG, do some stuff over pixels and rebuild a new SVG from it, still into a buffer.
Example:
module type ImageManipulator : sig
type svg
type png
val svg_of_string : string -> svg
val svg_of_png : png -> svg
val png_of_svg : svg -> png
val string_of_svg : svg -> string
end
module I : ImageManipulator = struct .... end
let manipulate str =
let svg = I.svg_of_string str in
let png = I.png_of_svg svg in
let png = (* Manipulation sur le type png *) in
I.svg_of_png png |> I.string_of_svg
Is there an Ocaml library that allows to convert a PNG format to a SVG format into a buffer and vice versa (an equivalent of the ImageManipulator describes above)?
Thanks for your answer! This isn’t exactly what I’m trying to do.
I’m working on the learn-ocaml platform. My main goal is to compare two images generated with vg. To do so, I wanted to check the pixel matrixes, created thanks to cairo2 and build a third image, in grayscale, corresponding to the difference between the two images.
My problem is that I can’t save the generated image in any file: it must stay only in the ram memory. However, I need to get this image and insert it into the web page. I can’t insert some PNG code directly into the page without saving it into a file. The only way I’ve found is to get the SVG code from the PNG and insert this SVG into the html DOM.
I don’t know how I can convert the pixel matrix into a SVG code or if it exists a method to directly inject PNG content… Is there any way to do it ?