You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ch...@apache.org on 2017/05/24 18:41:20 UTC

[32/50] [abbrv] commons-imaging git commit: Allow XPM images to have 192 bit color, just like Apache OpenOffice's XPM parser does.

Allow XPM images to have 192 bit color, just like Apache OpenOffice's XPM
parser does.

Patch by: me


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/imaging/trunk@1780730 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/commons-imaging/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-imaging/commit/316d61df
Tree: http://git-wip-us.apache.org/repos/asf/commons-imaging/tree/316d61df
Diff: http://git-wip-us.apache.org/repos/asf/commons-imaging/diff/316d61df

Branch: refs/heads/master
Commit: 316d61dfa5c70aa7bca3dffaf5486936f1b4192a
Parents: 7aa7629
Author: Damjan Jovanovic <da...@apache.org>
Authored: Sat Jan 28 18:31:34 2017 +0000
Committer: Damjan Jovanovic <da...@apache.org>
Committed: Sat Jan 28 18:31:34 2017 +0000

----------------------------------------------------------------------
 .../org/apache/commons/imaging/formats/xpm/XpmImageParser.java  | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/316d61df/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
index c8b0508..e3b19fd 100644
--- a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
@@ -338,6 +338,11 @@ public class XpmImageParser extends ImageParser {
                 final int green = Integer.parseInt(color.substring(4, 5), 16);
                 final int blue = Integer.parseInt(color.substring(8, 9), 16);
                 return 0xff000000 | (red << 16) | (green << 8) | blue;
+            } else if (color.length() == 24) {
+                final int red = Integer.parseInt(color.substring(0, 1), 16);
+                final int green = Integer.parseInt(color.substring(8, 9), 16);
+                final int blue = Integer.parseInt(color.substring(16, 17), 16);
+                return 0xff000000 | (red << 16) | (green << 8) | blue;
             } else {
                 return 0x00000000;
             }