mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-06-27 23:29:37 +00:00
f5e7bd91a7
Print shop graphics are small graphics of 88 x 52 pixels. Because of its popularity many disk clip art libraries exist and even disk magazines bundled images in most of its issues. Browsing them on an emulator can take forever and often the file names were not very descriptive. DiskBrowser is the perfect alternative since it allows for a quick preview of any file.
43 lines
1.1 KiB
Java
43 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 ();
|
|
}
|
|
|
|
} |