summaryrefslogtreecommitdiff
path: root/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java
diff options
context:
space:
mode:
authortkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-10-31 16:36:53 +0000
committertkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-10-31 16:36:53 +0000
commit6f34e1de3929b2c38b5e7cfd678be9dd02469172 (patch)
treef20a961041ed48ce3a2cbe2a060bd70950702599 /trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java
parent772a0233a567087ab5bd6c0663625cb36c0dbf53 (diff)
downloadpdf-over-6f34e1de3929b2c38b5e7cfd678be9dd02469172.tar.gz
pdf-over-6f34e1de3929b2c38b5e7cfd678be9dd02469172.tar.bz2
pdf-over-6f34e1de3929b2c38b5e7cfd678be9dd02469172.zip
Move ImageConverter and Unzipper to utils package
git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12739 3a0b52a2-8410-0410-bc02-ff6273a87459
Diffstat (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java')
-rw-r--r--trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java175
1 files changed, 0 insertions, 175 deletions
diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java
deleted file mode 100644
index 83beceff..00000000
--- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/ImageConverter.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://joinup.ec.europa.eu/software/page/eupl
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- */
-package at.asit.pdfover.gui;
-
-// Imports
-import java.awt.image.BufferedImage;
-import java.awt.image.ColorModel;
-import java.awt.image.ComponentColorModel;
-import java.awt.image.DirectColorModel;
-import java.awt.image.IndexColorModel;
-import java.awt.image.WritableRaster;
-
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- *
- */
-public class ImageConverter {
-
- /**
- * Convert Image Data to AWT Image
- * @param data
- * @return AWT Image
- */
- public static BufferedImage convertToAWT(ImageData data) {
- ColorModel colorModel = null;
- PaletteData palette = data.palette;
- if (palette.isDirect) {
- colorModel = new DirectColorModel(data.depth, palette.redMask,
- palette.greenMask, palette.blueMask);
- BufferedImage bufferedImage = new BufferedImage(colorModel,
- colorModel.createCompatibleWritableRaster(data.width,
- data.height), false, null);
- WritableRaster raster = bufferedImage.getRaster();
- int[] pixelArray = new int[3];
- for (int y = 0; y < data.height; y++) {
- for (int x = 0; x < data.width; x++) {
- int pixel = data.getPixel(x, y);
- RGB rgb = palette.getRGB(pixel);
- pixelArray[0] = rgb.red;
- pixelArray[1] = rgb.green;
- pixelArray[2] = rgb.blue;
- raster.setPixels(x, y, 1, 1, pixelArray);
- }
- }
- return bufferedImage;
- }
- RGB[] rgbs = palette.getRGBs();
- byte[] red = new byte[rgbs.length];
- byte[] green = new byte[rgbs.length];
- byte[] blue = new byte[rgbs.length];
- for (int i = 0; i < rgbs.length; i++) {
- RGB rgb = rgbs[i];
- red[i] = (byte) rgb.red;
- green[i] = (byte) rgb.green;
- blue[i] = (byte) rgb.blue;
- }
- if (data.transparentPixel != -1) {
- colorModel = new IndexColorModel(data.depth, rgbs.length, red,
- green, blue, data.transparentPixel);
- } else {
- colorModel = new IndexColorModel(data.depth, rgbs.length, red,
- green, blue);
- }
- BufferedImage bufferedImage = new BufferedImage(colorModel,
- colorModel.createCompatibleWritableRaster(data.width,
- data.height), false, null);
- WritableRaster raster = bufferedImage.getRaster();
- int[] pixelArray = new int[1];
- for (int y = 0; y < data.height; y++) {
- for (int x = 0; x < data.width; x++) {
- int pixel = data.getPixel(x, y);
- pixelArray[0] = pixel;
- raster.setPixel(x, y, pixelArray);
- }
- }
- return bufferedImage;
-
- }
-
- /**
- * Convert AWT Image to SWT Image
- *
- * @param bufferedImage
- * @return SWT Image data
- */
- public static ImageData convertToSWT(final BufferedImage bufferedImage) {
- if (bufferedImage.getColorModel() instanceof DirectColorModel) {
- DirectColorModel colorModel = (DirectColorModel) bufferedImage
- .getColorModel();
- PaletteData palette = new PaletteData(colorModel.getRedMask(),
- colorModel.getGreenMask(), colorModel.getBlueMask());
- ImageData data = new ImageData(bufferedImage.getWidth(),
- bufferedImage.getHeight(), colorModel.getPixelSize(),
- palette);
- WritableRaster raster = bufferedImage.getRaster();
- int[] pixelArray = new int[3];
- for (int y = 0; y < data.height; y++) {
- for (int x = 0; x < data.width; x++) {
- raster.getPixel(x, y, pixelArray);
- int pixel = palette.getPixel(new RGB(pixelArray[0],
- pixelArray[1], pixelArray[2]));
- data.setPixel(x, y, pixel);
- }
- }
- return data;
- } else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
- IndexColorModel colorModel = (IndexColorModel) bufferedImage
- .getColorModel();
- int size = colorModel.getMapSize();
- byte[] reds = new byte[size];
- byte[] greens = new byte[size];
- byte[] blues = new byte[size];
- colorModel.getReds(reds);
- colorModel.getGreens(greens);
- colorModel.getBlues(blues);
- RGB[] rgbs = new RGB[size];
- for (int i = 0; i < rgbs.length; i++) {
- rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF,
- blues[i] & 0xFF);
- }
- PaletteData palette = new PaletteData(rgbs);
- ImageData data = new ImageData(bufferedImage.getWidth(),
- bufferedImage.getHeight(), colorModel.getPixelSize(),
- palette);
- data.transparentPixel = colorModel.getTransparentPixel();
- WritableRaster raster = bufferedImage.getRaster();
- int[] pixelArray = new int[1];
- for (int y = 0; y < data.height; y++) {
- for (int x = 0; x < data.width; x++) {
- raster.getPixel(x, y, pixelArray);
- data.setPixel(x, y, pixelArray[0]);
- }
- }
- return data;
- } else if (bufferedImage.getColorModel() instanceof ComponentColorModel) {
- ComponentColorModel colorModel = (ComponentColorModel)bufferedImage.getColorModel();
-
- //ASSUMES: 3 BYTE BGR IMAGE TYPE
-
- PaletteData palette = new PaletteData(0x0000FF, 0x00FF00,0xFF0000);
- ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
-
- //This is valid because we are using a 3-byte Data model with no transparent pixels
- data.transparentPixel = -1;
-
- WritableRaster raster = bufferedImage.getRaster();
- int[] pixelArray = new int[3];
- for (int y = 0; y < data.height; y++) {
- for (int x = 0; x < data.width; x++) {
- raster.getPixel(x, y, pixelArray);
- int pixel = palette.getPixel(new RGB(pixelArray[0], pixelArray[1], pixelArray[2]));
- data.setPixel(x, y, pixel);
- }
- }
- return data;
- }
- return null;
- }
-}