mirror of https://github.com/apache/poi.git
handle colors with opacity
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1160220 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c178314554
commit
da8e38019a
|
@ -306,11 +306,22 @@ public class AbstractWordUtils
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getColor24( int value )
|
public static String getOpacity( int argbValue )
|
||||||
{
|
{
|
||||||
if ( value == -1 )
|
int opacity = (int) ( ( argbValue & 0xFF000000l ) >>> 24 );
|
||||||
|
if ( opacity == 0 || opacity == 0xFF )
|
||||||
|
return ".0";
|
||||||
|
|
||||||
|
return "" + ( opacity / (float) 0xFF );
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getColor24( int argbValue )
|
||||||
|
{
|
||||||
|
if ( argbValue == -1 )
|
||||||
throw new IllegalArgumentException( "This colorref is empty" );
|
throw new IllegalArgumentException( "This colorref is empty" );
|
||||||
|
|
||||||
|
int value = argbValue & 0x00FFFFFF;
|
||||||
|
|
||||||
// http://www.w3.org/TR/REC-html40/types.html#h-6.5
|
// http://www.w3.org/TR/REC-html40/types.html#h-6.5
|
||||||
switch ( value )
|
switch ( value )
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,6 +76,12 @@ public class WordToFoUtils extends AbstractWordUtils
|
||||||
{
|
{
|
||||||
inline.setAttribute( "color", getColor24( characterRun.getIco24() ) );
|
inline.setAttribute( "color", getColor24( characterRun.getIco24() ) );
|
||||||
}
|
}
|
||||||
|
final int opacity = (int) ( characterRun.getIco24() & 0xFF000000l ) >>> 24;
|
||||||
|
if ( opacity != 0 && opacity != 0xFF )
|
||||||
|
{
|
||||||
|
inline.setAttribute( "opacity",
|
||||||
|
getOpacity( characterRun.getIco24() ) );
|
||||||
|
}
|
||||||
if ( characterRun.getLanguageCode() != 0 )
|
if ( characterRun.getLanguageCode() != 0 )
|
||||||
{
|
{
|
||||||
final String language = getLanguage( characterRun.getLanguageCode() );
|
final String language = getLanguage( characterRun.getLanguageCode() );
|
||||||
|
|
Loading…
Reference in New Issue