|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectdeadbeef.SupTools.Bitmap
public class Bitmap
Class to handle byte based bitmaps with a separate palette up to 256 colors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Constructor Summary | |
---|---|
Bitmap(Bitmap bm)
Constructor (to create deep copy from existing Bitmap). |
|
Bitmap(int w,
int h)
Constructor (without clearing of bitmap). |
|
Bitmap(int w,
int h,
byte[] buf)
Constructor (without clearing of bitmap). |
|
Bitmap(int w,
int h,
int col)
Constructor (with clearing of bitmap). |
Method Summary | |
---|---|
void |
clear(int color)
Clear bitmap with color index. |
Bitmap |
convertLm(Palette pal,
int alphaThr,
int[] lumThr)
Convert a palletized Bitmap (where each palette entry has individual alpha) to a Bitmap with N color palette, where: index0 = transparent, index1 = light color, ... , indexN-2 = dark color, indexN-1 = black. |
Bitmap |
crop(int x,
int y,
int w,
int h)
Create cropped Bitmap. |
void |
fillRect(int x,
int y,
int w,
int h,
int color)
Fill rectangular range inside bitmap with color index. |
BitmapBounds |
getBounds(Palette pal,
int alphaThr)
Get cropping bounds of Bitmap (first/last x/y coordinates that contain visible pixels). |
int |
getHeight()
Get height of bitmap. |
int |
getHighestColorIndex(Palette p)
Return the highest used palette entry. |
java.awt.image.BufferedImage |
getImage(Palette pal)
Convert Bitmap to buffered image that can be used for display. |
byte[] |
getImg()
Get image buffer of bitmap. |
byte |
getPixel(int x,
int y)
Get color index of pixel at position x,y. |
int |
getPrimaryColorIndex(Palette pal,
int alphaThr)
Find the most common color that is as light and opaque as possible (the darker and more transparent a color is, the smaller is its influence). |
int |
getWidth()
Get width of bitmap. |
Bitmap |
scaleBilinear(int sizeX,
int sizeY,
Palette pal)
Scales a palletized Bitmap to a Bitmap with the same palette using bilinear filtering. |
PaletteBitmap |
scaleBilinear(int sizeX,
int sizeY,
Palette pal,
boolean dither)
Scales a palletized Bitmap to a Bitmap with a new quantized Palette using bilinear filtering. |
Bitmap |
scaleBilinearLm(int sizeX,
int sizeY,
Palette pal,
int alphaThr,
int[] lumThr)
Scales a palletized Bitmap (where each palette entry has individual alpha) using bilinear filtering to a Bitmap with N color palette, where: index0 = transparent, index1 = light color, ... , indexN-2 = dark color, indexN-1 = black. |
Bitmap |
scaleFilter(int sizeX,
int sizeY,
Palette pal,
Filter f)
Scales a palletized Bitmap to a Bitmap with the same Palette using a given scaling filter. |
PaletteBitmap |
scaleFilter(int sizeX,
int sizeY,
Palette pal,
Filter f,
boolean dither)
Scales a palletized Bitmap to a Bitmap with a new quantized Palette using a given scaling filter. |
Bitmap |
scaleFilterLm(int sizeX,
int sizeY,
Palette pal,
int alphaThr,
int[] lumThr,
Filter f)
Scales a palletized Bitmap (where each palette entry has individual alpha) using a given scaling filter to a Bitmap with N color palette, where: index0 = transparent, index1 = light color, ... , indexN-2 = dark color, indexN-1 = black |
void |
setPixel(int x,
int y,
byte color)
Set color index of pixel at position x,y. |
int[] |
toARGB(Palette pal)
Convert Bitmap to Integer array filled with ARGB values. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Bitmap(int w, int h, int col)
w
- Widthh
- Heightcol
- Color index to use for initial clearingpublic Bitmap(int w, int h)
w
- Widthh
- Heightpublic Bitmap(int w, int h, byte[] buf)
w
- Widthh
- Heightbuf
- Image bufferpublic Bitmap(Bitmap bm)
bm
- Bitmap to create deep copy fromMethod Detail |
---|
public void clear(int color)
color
- Color index to use for clearingpublic void fillRect(int x, int y, int w, int h, int color)
x
- X coordinate of rectangley
- Y coordinate of rectanglew
- Width of rectangleh
- Height of rectanglecolor
- Color index to use for filling.public void setPixel(int x, int y, byte color)
x
- X positiony
- Y positioncolor
- Color indexpublic byte getPixel(int x, int y)
x
- X positiony
- Y position
public java.awt.image.BufferedImage getImage(Palette pal)
pal
- Palette
public int getPrimaryColorIndex(Palette pal, int alphaThr)
pal
- PalettealphaThr
- Alpha threshold (all colors with alpha < alphaThr will be ignored)
public int getHighestColorIndex(Palette p)
p
- Palette
public Bitmap convertLm(Palette pal, int alphaThr, int[] lumThr)
pal
- Palette of the source BitmapalphaThr
- Threshold for alpha (transparency), lower = more transparentlumThr
- Threshold for luminances. For N-1 luminances, N-2 thresholds are needed
lumThr[0] is the threshold for the lightest color (-> idx 1)
lumThr[N-2] is the threshold for the darkest color (-> idx N-1)
public Bitmap scaleBilinearLm(int sizeX, int sizeY, Palette pal, int alphaThr, int[] lumThr)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source BitmapalphaThr
- Threshold for alpha (transparency), lower = more transparentlumThr
- Threshold for luminances. For N-1 luminances, N-2 thresholds are needed
lumThr[0] is the threshold for the lightest color (-> idx 1)
lumThr[N-2] is the threshold for the darkest color (-> idx N-1)
public Bitmap scaleFilterLm(int sizeX, int sizeY, Palette pal, int alphaThr, int[] lumThr, Filter f)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source BitmapalphaThr
- Threshold for alpha (transparency), lower = more transparentlumThr
- Threshold for luminances. For N-1 luminances, N-2 thresholds are needed
lumThr[0] is the threshold for the lightest color (-> idx 1)
lumThr[N-2] is the threshold for the darkest color (-> idx N-1)f
- Filter for scaling
public Bitmap scaleBilinear(int sizeX, int sizeY, Palette pal)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source Bitmap
public PaletteBitmap scaleBilinear(int sizeX, int sizeY, Palette pal, boolean dither)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source Bitmapdither
- True: apply dithering
public Bitmap scaleFilter(int sizeX, int sizeY, Palette pal, Filter f)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source Bitmapf
- Filter for scaling
public PaletteBitmap scaleFilter(int sizeX, int sizeY, Palette pal, Filter f, boolean dither)
sizeX
- Target widthsizeY
- Target heightpal
- Palette of the source Bitmapf
- Filter for scalingdither
- True: apply dithering
public int[] toARGB(Palette pal)
pal
- Palette
public Bitmap crop(int x, int y, int w, int h)
x
- X offset in source bitmapy
- Y offset in source bitmapw
- Width of cropping windowh
- Height of cropping window
public BitmapBounds getBounds(Palette pal, int alphaThr)
pal
- PalettealphaThr
- Alpha threshold (only pixels with alpha >= alphaThr will be treated as visible)
public int getWidth()
public int getHeight()
public byte[] getImg()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |