mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-09-29 07:55:13 +00:00
65 lines
1.8 KiB
Java
Executable File
65 lines
1.8 KiB
Java
Executable File
package com.bytezone.diskbrowser.wizardry;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
import java.awt.image.DataBuffer;
|
|
|
|
// -----------------------------------------------------------------------------------//
|
|
class Image extends AbstractImage
|
|
// -----------------------------------------------------------------------------------//
|
|
{
|
|
// ---------------------------------------------------------------------------------//
|
|
Image (String name, byte[] buffer)
|
|
// ---------------------------------------------------------------------------------//
|
|
{
|
|
super (name, buffer);
|
|
|
|
if (buffer[0] == -61 && buffer[1] == -115)
|
|
fixSlime (buffer);
|
|
|
|
image = new BufferedImage (70, 50, BufferedImage.TYPE_BYTE_GRAY); // width/height
|
|
DataBuffer db = image.getRaster ().getDataBuffer ();
|
|
int element = 0;
|
|
|
|
for (int j = 0; j < 500; j++)
|
|
{
|
|
int bits = buffer[j] & 0xFF;
|
|
for (int m = 0; m < 7; m++)
|
|
{
|
|
if (bits == 0)
|
|
{
|
|
element += 7 - m;
|
|
break;
|
|
}
|
|
if ((bits & 1) == 1)
|
|
db.setElem (element, 255);
|
|
bits >>= 1;
|
|
element++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
private void fixSlime (byte[] buffer)
|
|
// ---------------------------------------------------------------------------------//
|
|
{
|
|
for (int i = 0; i < 208; i++)
|
|
buffer[i] = 0;
|
|
buffer[124] = -108;
|
|
buffer[134] = -43;
|
|
buffer[135] = -128;
|
|
buffer[144] = -44;
|
|
buffer[145] = -126;
|
|
buffer[154] = -48;
|
|
buffer[155] = -118;
|
|
buffer[164] = -64;
|
|
buffer[165] = -86;
|
|
buffer[174] = -64;
|
|
buffer[175] = -86;
|
|
buffer[184] = -63;
|
|
buffer[185] = -86;
|
|
buffer[194] = -44;
|
|
buffer[195] = -86;
|
|
buffer[204] = -44;
|
|
buffer[205] = -126;
|
|
}
|
|
} |