Java Code Examples for com.badlogic.gdx.graphics.Pixmap#getWidth()
The following examples show how to use
com.badlogic.gdx.graphics.Pixmap#getWidth() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: seventh File: TextureUtil.java License: GNU General Public License v2.0 | 6 votes |
public static Pixmap toWhite(Pixmap img) { Pixmap alpha = new Pixmap(img.getWidth(), img.getHeight(), Format.RGBA8888); //alpha.drawPixmap(img, 0, 0); int width = alpha.getWidth(); int height = alpha.getHeight(); //alpha.setColor(0xff00009f); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int col = img.getPixel(x, y); Color color = new Color(col); if ( color.a > 0.2f ) { alpha.drawPixel(x, y, Color.WHITE.toIntBits()); } } } img.dispose(); return alpha; }
Example 2
Source Project: Mundus File: TerrainBrush.java License: Apache License 2.0 | 6 votes |
private void paint() { Terrain terrain = terrainAsset.getTerrain(); SplatMap sm = terrain.getTerrainTexture().getSplatmap(); if (sm == null) return; Vector3 terrainPos = terrain.getPosition(tVec1); final float splatX = ((brushPos.x - terrainPos.x) / (float) terrain.terrainWidth) * sm.getWidth(); final float splatY = ((brushPos.z - terrainPos.z) / (float) terrain.terrainDepth) * sm.getHeight(); final float splatRad = (radius / terrain.terrainWidth) * sm.getWidth(); final Pixmap pixmap = sm.getPixmap(); for (int smX = 0; smX < pixmap.getWidth(); smX++) { for (int smY = 0; smY < pixmap.getHeight(); smY++) { final float dst = MathUtils.dst(splatX, splatY, smX, smY); if (dst <= splatRad) { final float opacity = getValueOfBrushPixmap(splatX, splatY, smX, smY, splatRad) * 0.5f * strength; int newPixelColor = sm.additiveBlend(pixmap.getPixel(smX, smY), paintChannel, opacity); pixmap.drawPixel(smX, smY, newPixelColor); } } } sm.updateTexture(); splatmapModified = true; getProjectManager().current().assetManager.addDirtyAsset(terrainAsset); }
Example 3
Source Project: libgdx-snippets File: PixmapTransform.java License: MIT License | 6 votes |
public static int getPixelMirrored(Pixmap pixmap, int x, int y, Mirror mirror) { int widthMinusOne = pixmap.getWidth() - 1; int heightMinusOne = pixmap.getHeight() - 1; int px = x, py = y; if (mirror == Mirror.X || mirror == Mirror.XY) { px = widthMinusOne - x; } if (mirror == Mirror.Y || mirror == Mirror.XY) { py = heightMinusOne - y; } return pixmap.getPixel(px, py); }
Example 4
Source Project: Cubes File: AOTextureGenerator.java License: MIT License | 5 votes |
private static void pixmapToDouble(Pixmap in, double[][] out) { Color c = new Color(); for (int x = 0; x < in.getWidth(); x++) { for (int y = 0; y < in.getHeight(); y++) { c.set(in.getPixel(x, y)); out[x][y] = c.r; } } }
Example 5
Source Project: uracer-kotd File: DebugMeter.java License: Apache License 2.0 | 5 votes |
public DebugMeter (int width, int height) { assert (width < 256 && height < 256); this.showLabel = true; this.name = ""; this.width = width; this.height = height; this.pos = new Vector2(); pixels = new Pixmap(this.width, this.height, Format.RGBA8888); texture = new Texture(width, height, Format.RGBA8888); texture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest); region = new TextureRegion(texture, 0, 0, pixels.getWidth(), pixels.getHeight()); }
Example 6
Source Project: libgdx-snippets File: PixmapTransform.java License: MIT License | 5 votes |
public static void copyToRotated(Pixmap source, Pixmap target, Rotate rotate){ for(int y=0; y<target.getHeight(); y++){ for(int x=0; x<target.getWidth(); x++){ int rgba = PixmapTransform.getPixelRotated(source, x, y, rotate); target.drawPixel(x, y, rgba); } } }
Example 7
Source Project: shattered-pixel-dungeon-gdx File: SmartTexture.java License: GNU General Public License v3.0 | 5 votes |
public SmartTexture( Pixmap bitmap, int filtering, int wrapping ) { this.bitmap = bitmap; width = bitmap.getWidth(); height = bitmap.getHeight(); this.fModeMin = this.fModeMax = filtering; this.wModeH = this.wModeV = wrapping; }
Example 8
Source Project: gdx-proto File: HeightMap.java License: Apache License 2.0 | 5 votes |
/** * * @param file 8-bit PNG file heightmap data * @param heightScale vertical scaling (y axis) * @param widthScale width on the x-z plane (distance between points) * @param whiteHigh height is represented by white (instead of black) */ public HeightMap(FileHandle file, float heightScale, float widthScale, boolean whiteHigh, int smoothingPasses) { // TODO whiteHigh seems to breaking the normals this.heightScale = heightScale; this.widthScale = widthScale; Pixmap pix = new Pixmap(file); if (pix.getFormat() != Pixmap.Format.Alpha) { throw new GdxRuntimeException("Pixmap must be format Pixmap.Alpha (8-bit Grayscale), not: " + pix.getFormat()); } int pixWidth = pix.getWidth(); int pixHeight = pix.getHeight(); int w = pixWidth; int h = pixHeight; System.out.println("w,h: " + w + ", " + h); heights = new float[h][w]; boolean countWidth = true; for (int z = 0; z < pixHeight; z ++) { depth++; for (int x = 0; x < pixWidth; x ++) { if (countWidth) width++; //System.out.printf("pix value: (%d, %d): %d\n", x, z, pix.getPixel(x, z)); int height; if (whiteHigh) { height = 256 - (-1 * pix.getPixel(x, z)); } else { height = -1 * pix.getPixel(x, z); } heights[z][x] = height; numPoints++; } countWidth = false; } smoothVertexPositions(smoothingPasses); updateDimensions(); }
Example 9
Source Project: libgdx-snippets File: PixmapTransform.java License: MIT License | 5 votes |
public static void copyToMirrored(Pixmap source, Pixmap target, Mirror mirror){ for(int y=0; y<target.getHeight(); y++){ for(int x=0; x<target.getWidth(); x++){ int rgba = PixmapTransform.getPixelMirrored(source, x, y, mirror); target.drawPixel(x, y, rgba); } } }
Example 10
Source Project: Cubes File: AOTextureGenerator.java License: MIT License | 5 votes |
private static void doubleToPixmap(double[][] in, Pixmap out) { Color c = new Color(0, 0, 0, 1); for (int x = 0; x < out.getWidth(); x++) { for (int y = 0; y < out.getHeight(); y++) { float d = (float) in[x][y]; c.r = d; c.g = d; c.b = d; c.clamp(); out.drawPixel(x, y, Color.rgba8888(c)); } } }
Example 11
Source Project: shattered-pixel-dungeon File: BitmapFilm.java License: GNU General Public License v3.0 | 5 votes |
public BitmapFilm( Pixmap bitmap, int width, int height ) { this.bitmap = bitmap; int cols = bitmap.getWidth() / width; int rows = bitmap.getHeight() / height; for (int i=0; i < rows; i++) { for (int j=0; j < cols; j++) { Rect rect = new Rect( j * width, i * height, (j+1) * width, (i+1) * height ); add( i * cols + j, rect ); } } }
Example 12
Source Project: libgdx-snippets File: PixmapRegion.java License: MIT License | 4 votes |
private void changePixmap(Pixmap pixmap) { this.pixmap = pixmap; pixels = pixmap.getPixels(); pixelStride = PixmapUtils.getPixelStride(pixmap.getFormat()); lineStride = pixmap.getWidth() * pixelStride; }
Example 13
Source Project: skin-composer File: Utils.java License: MIT License | 4 votes |
/** * Does not dispose pixmap. * @param pixmap * @param ninePatch * @return */ public static Color averageEdgeColor(Pixmap pixmap, boolean ninePatch) { int border = 0; if (ninePatch) { border = 1; } Color temp = new Color(); float sumR = 0.0f; float sumG = 0.0f; float sumB = 0.0f; int count = 0; //left edge for (int y = border; y < pixmap.getHeight() - border; y++) { for (int x = border; x < pixmap.getWidth() - border; x++) { temp.set(pixmap.getPixel(x, y)); if (temp.a > 0) { sumR += temp.r; sumG += temp.g; sumB += temp.b; count++; break; } } } //right edge for (int y = border; y < pixmap.getHeight() - border; y++) { for (int x = pixmap.getWidth() - 1 - border; x > border; x--) { temp.set(pixmap.getPixel(x, y)); if (temp.a > 0) { sumR += temp.r; sumG += temp.g; sumB += temp.b; count++; break; } } } //top edge for (int x = border; x < pixmap.getWidth() - border; x++) { for (int y = border; y < pixmap.getHeight() - border; y++) { temp.set(pixmap.getPixel(x, y)); if (temp.a > 0) { sumR += temp.r; sumG += temp.g; sumB += temp.b; count++; break; } } } //bottom edge for (int x = border; x < pixmap.getWidth() - border; x++) { for (int y = pixmap.getHeight() - 1 - border; y > border; y--) { temp.set(pixmap.getPixel(x, y)); if (temp.a > 0) { sumR += temp.r; sumG += temp.g; sumB += temp.b; count++; break; } } } if (count == 0) { return new Color(Color.BLACK); } else { return new Color(sumR / count, sumG / count, sumB / count, 1.0f); } }
Example 14
Source Project: shattered-pixel-dungeon File: BitmapText.java License: GNU General Public License v3.0 | 4 votes |
protected void splitBy( Pixmap bitmap, int height, int color, String chars ) { int length = chars.length(); int width = bitmap.getWidth(); float vHeight = (float)height / bitmap.getHeight(); int pos; int line = 0; spaceMeasuring: for (pos=0; pos < width; pos++) { for (int j=0; j < height; j++) { if (bitmap.getPixel( pos, j ) != color) { break spaceMeasuring; } } } add( ' ', new RectF( 0, 0, (float)pos / width, vHeight-0.01f ) ); int separator = pos; for (int i=0; i < length; i++) { char ch = chars.charAt( i ); if (ch == ' ') { continue; } else { boolean found; do{ if (separator >= width) { line += height; separator = 0; } found = false; for (int j=line; j < line + height; j++) { if (colorNotMatch( bitmap, separator, j, color)) { found = true; break; } } if (!found) separator++; } while (!found); int start = separator; do { if (++separator >= width) { line += height; separator = start = 0; if (line + height >= bitmap.getHeight()) break; } found = true; for (int j=line; j < line + height; j++) { if (colorNotMatch( bitmap, separator, j, color)) { found = false; break; } } } while (!found); add( ch, new RectF( (float)start / width, (float)line / bitmap.getHeight(), (float)separator / width, (float)line / bitmap.getHeight() + vHeight) ); separator++; } } lineHeight = baseLine = height( frames.get( chars.charAt( 0 ) ) ); }
Example 15
Source Project: libgdx-snippets File: PixmapUtils.java License: MIT License | 4 votes |
/** * Calculates crop regions of the pixmap in up to four directions. Pixel rows/columns are subject * to removal if all their pixels have an alpha channel value of exact the same value as given in the parameter. */ public static void crop(Pixmap pixmap, boolean left, boolean bottom, boolean right, boolean top, float alpha, CropResult consumer) { int width = pixmap.getWidth(); int height = pixmap.getHeight(); int a = MathUtils.floor(alpha * 255.0f) & 0xff; int minX = left ? width - 1 : 0; int maxX = right ? 0 : width - 1; int minY = bottom ? height - 1 : 0; int maxY = top ? 0 : height - 1; ByteBuffer pixels = pixmap.getPixels(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int rgba = pixels.getInt(); if ((rgba & 0xff) != a) { minX = Math.min(x, minX); maxX = Math.max(x, maxX); minY = Math.min(y, minY); maxY = Math.max(y, maxY); } } } pixels.flip(); consumer.accept(minX, minY, maxX, maxY); }
Example 16
Source Project: shattered-pixel-dungeon-gdx File: BitmapText.java License: GNU General Public License v3.0 | 4 votes |
protected void splitBy( Pixmap bitmap, int height, int color, String chars ) { int length = chars.length(); int width = bitmap.getWidth(); float vHeight = (float)height / bitmap.getHeight(); int pos; int line = 0; spaceMeasuring: for (pos=0; pos < width; pos++) { for (int j=0; j < height; j++) { if (colorNotMatch(bitmap, pos, j, color)) break spaceMeasuring; } } add( ' ', new RectF( 0, 0, (float)pos / width, vHeight-0.01f ) ); int separator = pos; for (int i=0; i < length; i++) { char ch = chars.charAt( i ); if (ch == ' ') { continue; } else { boolean found; do{ if (separator >= width) { line += height; separator = 0; } found = false; for (int j=line; j < line + height; j++) { if (colorNotMatch( bitmap, separator, j, color)) { found = true; break; } } if (!found) separator++; } while (!found); int start = separator; do { if (++separator >= width) { line += height; separator = start = 0; if (line + height >= bitmap.getHeight()) break; } found = true; for (int j=line; j < line + height; j++) { if (colorNotMatch(bitmap, separator, j, color)) { found = false; break; } } } while (!found); add( ch, new RectF( (float)start / width, (float)line / bitmap.getHeight(), (float)separator / width, (float)line / bitmap.getHeight() + vHeight) ); separator++; } } lineHeight = baseLine = height( frames.get( chars.charAt( 0 ) ) ); }
Example 17
Source Project: libgdx-snippets File: PixmapRegion.java License: MIT License | 4 votes |
public PixmapRegion(Pixmap pixmap) { this(pixmap, 0, 0, pixmap.getWidth(), pixmap.getHeight()); }
Example 18
Source Project: libgdx-snippets File: PixmapAtlas.java License: MIT License | 3 votes |
public static PixmapAtlas createFromPixmap(FileHandle pixmapFile, String regionName) { Pixmap pixmap = new Pixmap(pixmapFile); PixmapAtlas atlas = new PixmapAtlas(); // add single pixmap atlas.pixmaps.add(pixmap); // add one page AtlasPage atlasPage = new AtlasPage(0, pixmapFile, pixmap); atlas.pages.add(atlasPage); // add one region int width = pixmap.getWidth(); int height = pixmap.getHeight(); AtlasRegion atlasRegion = new AtlasRegion(pixmap, 0, 0, width, height); atlasRegion.page = atlasPage; atlasRegion.index = 0; atlasRegion.name = regionName; atlasRegion.rotate = false; atlas.regions.add(atlasRegion); return atlas; }
Example 19
Source Project: libgdx-snippets File: PixmapUtils.java License: MIT License | 3 votes |
/** * Vertically mirrors the {@link Pixmap} content, in place, line by line. */ public static void flipY(Pixmap pixmap) { int width = pixmap.getWidth(); int height = pixmap.getHeight(); int pitch = width * getPixelStride(pixmap.getFormat()); ByteBuffer pixels = pixmap.getPixels(); byte[][] buffer = new byte[2][pitch]; for (int y = 0; y < height / 2; y++) { pixels.position(y * pitch); pixels.get(buffer[0], 0, pitch); pixels.position((height - y - 1) * pitch); pixels.get(buffer[1], 0, pitch); pixels.position(y * pitch); pixels.put(buffer[1], 0, pitch); pixels.position((height - y - 1) * pitch); pixels.put(buffer[0], 0, pitch); } pixels.position(0); }
Example 20
Source Project: gdx-skineditor File: NinePatchEditorDialog.java License: Apache License 2.0 | 2 votes |
public void refreshPreview() { Gdx.app.log("NinePatchEditorDialog","refresh preview."); Pixmap pixmapImage = new Pixmap(Gdx.files.internal(textSourceImage.getText())); Pixmap pixmap = new Pixmap((int) (pixmapImage.getWidth()+2), (int) (pixmapImage.getHeight()+2), Pixmap.Format.RGBA8888); pixmap.drawPixmap(pixmapImage,1,1); pixmap.setColor(Color.BLACK); // Range left int h = pixmapImage.getHeight()+1; pixmap.drawLine(0, (int) (h * rangeLeft.rangeStart),0, (int) (h * rangeLeft.rangeStop)); // Range top int w = pixmapImage.getWidth()+1; pixmap.drawLine((int) (w * rangeTop.rangeStart), 0,(int) (w * rangeTop.rangeStop), 0); // Range right h = pixmapImage.getHeight()+1; pixmap.drawLine(pixmapImage.getWidth()+1, (int) (h * rangeRight.rangeStart),pixmapImage.getWidth()+1, (int) (h * rangeRight.rangeStop)); // Range bottom w = pixmapImage.getWidth()+1; pixmap.drawLine((int) (w * rangeBottom.rangeStart), pixmap.getHeight()-1,(int) (w * rangeBottom.rangeStop), pixmap.getHeight()-1); PixmapIO.writePNG(tmpFile, pixmap); pixmapImage.dispose(); pixmap.dispose(); FileHandle fh = new FileHandle(System.getProperty("java.io.tmpdir")).child("skin_ninepatch"); TexturePacker.Settings settings = new TexturePacker.Settings(); TexturePacker.process(settings, fh.path(), fh.path(), "pack"); TextureAtlas ta = new TextureAtlas(fh.child("pack.atlas")); NinePatch np = ta.createPatch("button"); NinePatchDrawable drawable = new NinePatchDrawable(np); reviewTablePreview(); buttonPreview1.getStyle().up = drawable; }