transparency <-> opacity in import from MS Office

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

if a MS Office user sets 80% Transparency for a stroke, MS Office writes this as
   <a:alpha val="20000" />.
That means, that MS Office writes it out as opacity (which corresponds to the OOXML spec).

Our oox::drawingml::Color has for example
   void Color::clearTransparence() {mnAlpha = MAX_PERCENT;}
or
   sal_Int16 Color::getTransparency() const
{
return sal_Int16(std::round((1.0 *(MAX_PERCENT - mnAlpha)) / PER_PERCENT) );
}

So mnAlpha means opacity too and there are no problems.


But if a MS Office user sets 80% Transparency for the fill or outline of a character, MS Office writes this as
<w14:alpha val="80000" />.
That means, that the value means transparency.

Up to now there was no problem as the character outline cannot be rendered at all in LibreOffice and character fill transparency could be rendered but is not imported yet.

But with implementing Fontwork this <w14:alpha> element will be rendered as stroke transparency. So somewhere a conversion from transparency to opacity has to be done.

I could do this in Color::addTransformation() in general or I could do this isolated in my new Fontwork import.

I would like to do this in Color::addTransformation(). What is your opinion on this?

Kind regards,
Regina



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux