add fake transpareny without real transparency
Hello,
I have a small problem with inkscape 0.46: I have object1 that is above object2. Object1 has some kind of transparency since object2 should also seen through this transparency. This does work well in inkscape and the pdf output (via cairo) is also well.
But only adobe reader and foxit reader seem to support pdf transparency, all the poppler based readers like okular, evince, sumatrapdf do not show the transparency. Thus, it is not a problem of inkscape but (maybe) poppler.
You can see test files here: svg in zip file: http://www.siteupload.de/dl.php?fid=946719 pdf file: http://www.siteupload.de/dl.php?fid=946716
But I also think that if you want to print this pdf file in a printing shop, there could be problems.
My question: Is there a possibility to make inkscape to render a kind of fake transparency (that looks the same as real transpareny with an alpha channel) but that has no alpha channel (adjusting the other color channels of course). So, the exported pdf (or eps/ps that do not support transparency at all) could have the fake transparency.
Kind regards, Martin Bretschneider
On Wed, Apr 22, 2009 at 5:11 AM, Martin Bretschneider <bretschneider-mlinkscapeuser@...2418...> wrote:
My question: Is there a possibility to make inkscape to render a kind of fake transparency (that looks the same as real transpareny with an alpha channel) but that has no alpha channel (adjusting the other color channels of course).
Yes - select all stack, bitmap copy (alt+b) and delete the originals
bulia byak schrieb:
On Wed, Apr 22, 2009 at 5:11 AM, Martin Bretschneider <bretschneider-mlinkscapeuser@...2418...> wrote:
My question: Is there a possibility to make inkscape to render a kind of fake transparency (that looks the same as real transpareny with an alpha channel) but that has no alpha channel (adjusting the other color channels of course).
Yes - select all stack, bitmap copy (alt+b) and delete the originals
OK, that is a possibility but I lose the vector information that I want to keep...
Martin
Hey Martin,
The answer to similar questions posted earlier on this forum is always: "you can't" :( And that's because of the PDF/EPS format, that can't (officially?) handle transparancy.
I use Illustrator besides Inkscape. As far as I know, PDF (and EPS?) are the native formats to illustrator. In illustrator, I can't add a gradient with a transparency blend (and neither can I use gradients on a stroke). I find it a safe assumption that when something can't be made in Illustrator, you can't bet on it surviving in a PDF or EPS.
That's why we have to enjoy the flexibility of SVG, but go back to bitmap for distribution.
By the way, Bulia, instead of "deleting the originals", I guess you can also put them in a invisible layer, can't ye? That way, you would keep the vectors for future changes.
Maarten
On 4/23/09 9:08 AM, "Martin Bretschneider" <bretschneider-mlinkscapeuser@...2418...> wrote:
bulia byak schrieb:
On Wed, Apr 22, 2009 at 5:11 AM, Martin Bretschneider <bretschneider-mlinkscapeuser@...2418...> wrote:
My question: Is there a possibility to make inkscape to render a kind of fake transparency (that looks the same as real transpareny with an alpha channel) but that has no alpha channel (adjusting the other color channels of course).
Yes - select all stack, bitmap copy (alt+b) and delete the originals
OK, that is a possibility but I lose the vector information that I want to keep...
Martin
Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
Maarten van der Velde wrote:
Hey Martin,
The answer to similar questions posted earlier on this forum is always: "you can't" :( And that's because of the PDF/EPS format, that can't (officially?) handle transparancy.
This is true, but Inkscape could definitely do better than a bitmap copy in many cases. As long as you don't have two gradients getting mixed it should always be possible to convert overlapping polygons with transparency into equivalent non-overlapping polygons without transparency. I would recommend the original poster to check whether a feature request already exists and otherwise post it at: https://bugs.launchpad.net/inkscape/
Obviously this wouldn't help your current situation, but it might get into the next version.
Oh! I can't WAIT to Inkscape again...
So, Jasper, actually the real problem is not realy the transparancy an sich, but gradients with transparency, isn't it? And it get's realy tough when transparency gradients overlap. Inkscape can handle it, but the rest of the world can't.
Indeed, in illustrator, one CAN set the transparency value of any object.
On 4/23/09 12:44 PM, "Jasper van de Gronde" <th.v.d.gronde@...226...> wrote:
Maarten van der Velde wrote:
Hey Martin,
The answer to similar questions posted earlier on this forum is always: "you can't" :( And that's because of the PDF/EPS format, that can't (officially?) handle transparancy.
This is true, but Inkscape could definitely do better than a bitmap copy in many cases. As long as you don't have two gradients getting mixed it should always be possible to convert overlapping polygons with transparency into equivalent non-overlapping polygons without transparency. I would recommend the original poster to check whether a feature request already exists and otherwise post it at: https://bugs.launchpad.net/inkscape/
Obviously this wouldn't help your current situation, but it might get into the next version.
Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
________________________________________________________________ Maarten van der Velde graphic designer
Powel ASA Klæbuveien 194, NO-7037 Trondheim, NORWAY Phone: +47 73 80 45 00 - Fax: +47 73 80 45 01 Direct line: +47 73 80 46 21 - Mobile: +47 48 16 46 21 / +31 (0) 6 30 80 95 91 Email: Maarten.van-der-Velde@...2171... http://www.powel.com/
********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager.
This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses.
www.powel.no **********************************************************************
Maarten van der Velde wrote:
Oh! I can't WAIT to Inkscape again...
So, Jasper, actually the real problem is not realy the transparancy an sich, but gradients with transparency, isn't it? And it get's realy tough when transparency gradients overlap. Inkscape can handle it, but the rest of the world can't.
Indeed, in illustrator, one CAN set the transparency value of any object.
It's like this: Inkscape (and some other programs) support transparency (more or less as part of a color). However, this is relatively new and not all programs and formats understand this. So what you often need is a way to convert a drawing with transparency to a drawing without transparency that looks exactly the same.
Creating a bitmap copy is one way to achieve this, but if you have a vector drawing it's usually not the best way. Consider the attached file, the top shape consists of two overlapping transparent circles, the bottom shape of three non-overlapping opaque paths. It is possible to create a tool which applies such techniques to drawings of arbitrary complexity. Only areas with transparent gradients (or, obviously, where a bitmap is used) may have to be converted to a bitmap.
The main problem is that someone has to implement it, and it's quite a bit more complicated than a bitmap copy.
The example you provided was quite trivial :)
Attached is your example with heavy strokes added.
You can see that simple shape operations can't capture the individual objects.
The shapes need to have their strokes converted to paths, and then a bunch of messy operations have to be done. I tried by hand and stopped after wasting 15 minutes. The process it do-able but I am not sure what the algorithm is.
-Rob A>
Consider the attached file, the top shape consists of two overlapping transparent circles, the bottom shape of three non-overlapping opaque paths. It is possible to create a tool which applies such techniques to drawings of arbitrary complexity. Only areas with transparent gradients (or, obviously, where a bitmap is used) may have to be converted to a bitmap.
The main problem is that someone has to implement it, and it's quite a bit more complicated than a bitmap copy.
Rob Antonishen wrote:
The example you provided was quite trivial :)
Attached is your example with heavy strokes added.
You can see that simple shape operations can't capture the individual objects.
The shapes need to have their strokes converted to paths, and then a bunch of messy operations have to be done. I tried by hand and stopped after wasting 15 minutes. The process it do-able but I am not sure what the algorithm is.
Just convert everything to paths and do: 1. Take the bottom-most path that has not been processed yet and compute both differences and the intersection with all processed paths. 2. Determine the opaque fill for all three pieces. 3. Go to 1.
Step 1 is "just" some bool ops (making sure no empty paths are created if you want to be fancy).
Step 2 is trivial if everything uses solid colors. If gradients are involved it becomes a bit more complex, but either it's a simple matter of some algebra or it is not possible to express the result with a new gradient and you'd still have to fall back to a bitmap.
On Thu, Apr 23, 2009 at 4:20 AM, Maarten van der Velde <Maarten.van-der-Velde@...2171...> wrote:
Hey Martin,
The answer to similar questions posted earlier on this forum is always: "you can't" :( And that's because of the PDF/EPS format, that can't (officially?) handle transparancy.
No no no. PDF _DOES_ support vector transparency, even if some viewers didn't yet catch up. EPS _DOES NOT_ and probably never will. These formats are quite different by now.
Am Mittwoch, 22. April 2009 schrieb Martin Bretschneider:
But I also think that if you want to print this pdf file in a printing shop, there could be problems.
I checked your pdf with several Adobe-Progs (Acrobat 8.1, Photoshop CS2, Illustrator CS2) and GSView 4.8 in Windows, they all show the transparency, so there is a good chance your printer will be able to process them correctly. But you should *always* check that together with the priniting guy (preprints)! Quite a while before you actually need the prints. :-)
Two more remarks:
- IMO it's better not to embed the fonts but to convert them to paths, this will save you from trouble (e.g. in Illustrator the text could not be rendered).
- Be aware that a printer always expects CMYK or spot colors, so the resulting colors will most certainly differ from those in your pdf, which is in RGB, if I'm not wrong.
HTH Lars
participants (6)
-
bulia byak
-
Jasper van de Gronde
-
Lars Behrens
-
Maarten van der Velde
-
Martin Bretschneider
-
Rob Antonishen