-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support filters in to svg #1577
Comments
/cc @asturur |
taking a look. |
@kidzzz @kangax |
Creating |
Also there should be a 1:1 correspondence between filters you can create in fabric.js and filters in svg spec. There is no evidence that every filter will be supported by svg spec. There will be a subset of filter exportable and other not maybe. |
I appreciate all the comments. Such a great project and creators! "When we export to SVG we export the image eventually already filtered, but not any filter information" -- @asturur, are you saying the SVG should already have filters applied to the image? This is not what I am seeing. Please let me explain my situation: A user uploads a clip-art into the canvas, then he changes the background of the image to a different color. We achieve this by using the Multiply filter, so the JSON looks like this (Please note the image url isn't valid but I attach the clipart so you guys can test it out): {"objects":[{"type":"image","originX":"left","originY":"top","left":62,"top":60,"width":239,"height":298,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,"scaleX":0.55,"scaleY":0.55,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","src":"http://xyz.com/clipart_sample.png","filters":[{"type":"Multiply","color":"rgb(252, 185, 19)"}],"crossOrigin":""}],"background":""} When I export the JSON to SVG, here is what I get (Please ignore the image path, I made it relative): <?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="244" height="362" xml:space="preserve"><desc>Created with Fabric.js 1.4.7</desc><defs></defs><g transform="translate(127.73 141.95) scale(0.55 0.55)"><image xlink:href="clipart_sample.png" style="stroke: none; stroke-width: 1; stroke-dasharray: ; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); opacity: 1;" transform="translate(-119.5 -149)" width="239" height="298" preserveAspectRatio="none"></image></g></svg> So when I open this SVG file in Illustrator or IE, the background color of the clipart is not saved. Looking at the SVG string, I don't see anything indicating the Multiply filter has been applied. Hope I explain the problem well enough. Thanks a lot! |
Hey guys, Just want to see if you guys have a chance to take a look at the problem. Thanks! |
Image xlink:href is not supported at the moment, AFAIR, so we need to work on it. I'll get to it when I get time; right now still busy with work. |
mmmm so strange. with a dataurl you should solve. |
Okay guys. Thank you for the responses. |
i have some spare time i wanted to dedicate to fabricjs tonight. is there
|
Yes, I think everything is in this thread. You should be able to use the JSON and image to test the current toSVG() function. I also included a sample SVG output as a reference. Thank you! |
So i loaded the PNG of the crocodile.
Then i exported toSVG <?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="900" height="500" xml:space="preserve"><desc>Created with Fabric.js 1.4.11</desc><defs></defs><g transform="translate(341.5 267)">
<image xlink:href="data:image/png;base64,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" x="-119.5" y="-149" style="stroke: none; stroke-width: 1; stroke-dasharray: ; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: source-over; opacity: 1;" width="239" height="298" preserveAspectRatio="none"></image>
</g>
</svg> That to our eyes is So, what is wrong? |
@asturur - No, nothing is wrong. I am totally aware toDataUrl() should work with the filter. I tried and it did work. It was not until @kangax mentioned filter export was not yet supported, I then realized the whole thing. What I am hoping to achieve is: <image xlink:href="clipart_sample.png" filter_information /> Since I am not familiar with image filters and their formats, I have not been able to write my own function to do the job. Any help in this regards is greatly welcome. And yes, I am running under nodejs. Thanks again. |
Hello,
I've using fabricjs for our own project. Works great!
I have an issue of converting canvas to SVG, particular with image filters. We use the Multiply filter, an example would be:
"filters":[{"type":"Multiply","color":"rgb(241, 93, 34)"}]
The current version of toSVG() doesn't support image filters in SVG format. We've looked around but have not been able to find a away to do this. We know where to modify the code but don't know how the format would look like. Any help is appreciated.
Thanks!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: