mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-09-30 13:58:30 +00:00
40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
package com.bytezone.diskbrowser.applefile;
|
|
|
|
import java.awt.AlphaComposite;
|
|
import java.awt.Graphics2D;
|
|
import java.awt.image.BufferedImage;
|
|
import java.awt.image.DataBuffer;
|
|
|
|
public class PrintShopGraphic extends AbstractFile
|
|
{
|
|
public PrintShopGraphic (String name, byte[] buffer)
|
|
{
|
|
super (name, buffer);
|
|
|
|
image = new BufferedImage (88, 52, BufferedImage.TYPE_BYTE_GRAY);
|
|
Graphics2D g2d = image.createGraphics ();
|
|
g2d.setComposite (AlphaComposite.getInstance (AlphaComposite.SRC_OVER, (float) 1.0));
|
|
DataBuffer dataBuffer = image.getRaster ().getDataBuffer ();
|
|
int element = 0;
|
|
|
|
for (int ptr = 0; ptr < 572; ptr++)
|
|
for (int px = 7; px >= 0; px--)
|
|
{
|
|
int val = (buffer[ptr] >> px) & 0x01;
|
|
dataBuffer.setElem (element++, val == 0 ? 255 : 0);
|
|
}
|
|
|
|
g2d.dispose ();
|
|
}
|
|
|
|
@Override
|
|
public String getText ()
|
|
{
|
|
StringBuilder text = new StringBuilder ();
|
|
|
|
text.append (String.format ("File Name : %s%n", name));
|
|
text.append (String.format ("File size : %,d%n", buffer.length));
|
|
|
|
return text.toString ();
|
|
}
|
|
} |