Example usage for com.badlogic.gdx.graphics Pixmap Pixmap

List of usage examples for com.badlogic.gdx.graphics Pixmap Pixmap

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics Pixmap Pixmap.

Prototype

public Pixmap(byte[] encodedData, int offset, int len) 

Source Link

Document

Creates a new Pixmap instance from the given encoded image data.

Usage

From source file:net.mwplay.cocostudio.ui.widget.TImage.java

License:Apache License

public static TImage makeAlphaImage(float w, float h) {
    Pixmap pixmap = new Pixmap((int) w, (int) h, Pixmap.Format.RGBA8888);
    pixmap.setColor(Color.BLACK);
    pixmap.fill();/*from  w ww.  ja va2  s  .co  m*/
    Texture texture = new Texture(pixmap);
    TImage image = new TImage(texture);
    image.addAction(Actions.alpha(0.5f));
    return image;
}

From source file:net.mwplay.cocostudio.ui.widget.TImage.java

License:Apache License

public static TImage makeImage(float w, float h, Color color) {
    Pixmap pixmap = new Pixmap((int) w, (int) h, Pixmap.Format.RGBA8888);
    pixmap.setColor(color);//from w w w. ja va 2  s  .  co  m
    pixmap.fill();
    Texture texture = new Texture(pixmap);
    TImage image = new TImage(texture);
    return image;
}

From source file:net.noviden.towerdefense.MapCreator.MapThumbnail.java

License:Open Source License

public static SpriteDrawable createThumbnail(Map map, int dims) {

    Pixmap pixmap = new Pixmap(dims, dims, Pixmap.Format.RGB565);

    // draw border around pixmap
    pixmap.setColor(Color.PURPLE);
    pixmap.drawRectangle(0, 0, pixmap.getWidth(), pixmap.getHeight());

    // draw paths
    pixmap.setColor(Color.RED);//from w  w w .jav  a 2 s.  c o  m

    for (Path path : map.getGenericPaths()) {
        for (int j = 0; j < path.set.size() - 1; j++) {
            Point a = path.set.get(j), b = path.set.get(j + 1);

            int ax = (int) (a.x * dims), ay = (int) (a.y * dims), bx = (int) (b.x * dims),
                    by = (int) (b.y * dims);

            pixmap.drawLine(ax, ay, bx, by);
        }
    }

    Texture texture = new Texture(pixmap);

    Sprite sprite = new Sprite(texture);

    SpriteDrawable spriteDrawable = new SpriteDrawable(sprite);

    return spriteDrawable;
}

From source file:net.shad.s3gdxcodec.test.S3CodecGdxMain.java

License:Apache License

/**
 * Create video file//from  ww w .  j  av a  2 s .com
 */
@Override
public void create() {

    pixmap = new Pixmap(512, 512, Pixmap.Format.RGBA8888);
    encoder = new PixmapEncoder();
    try {
        fileHandle = Gdx.files.internal("test.mp4");
        Gdx.app.log("create ", "Save file to: " + fileHandle.path());
        encoder.initalize(fileHandle.file(), pixmap.getWidth(), pixmap.getHeight());
        for (int i = 0; i < 1024; i++) {
            fractalMandelbrot(pixmap, 0.0, 0.0, 0.2 + (0.01 * i), 0.2 + (0.01 * i), 192);
            pixmapToPicture = encoder.pixmapToPicture(pixmap);
            encoder.encodeFrame(pixmapToPicture);
        }
        encoder.close();

    } catch (IOException ex) {
        Logger.getLogger(S3CodecGdxMain.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:net.shad.s3rend.gfx.pixmap.disort.RotoZoom.java

License:Apache License

/**
 *
 * @param pixmap//  www. j a va2 s .  c  o m
 * @param amplify - The bulge value
 */
public static void generate(final Pixmap pixmap, float centerX, float centerY, float rotate, float zoomX,
        float zoomY) {

    int width = pixmap.getWidth();
    int height = pixmap.getHeight();

    //
    // Rotate
    //
    rotate = rotate * PI2;

    //
    // Zoom
    //
    zoomX = (float) Math.pow(.5f, zoomX - 1);
    zoomY = (float) Math.pow(.5f, zoomY - 1);

    float c = (float) (Math.cos(rotate));
    float s = (float) (Math.sin(rotate));

    float tw2 = (float) width / 2.0f;
    float th2 = (float) height / 2.0f;

    float ys = s * -th2;
    float yc = c * -th2;

    Pixmap dstPixmap = new Pixmap(width, height, pixmap.getFormat());
    dstPixmap.setColor(Color.RED);
    dstPixmap.fill();

    for (int y = 0; y < width; y++) {

        //
        // x' = cos(x)-sin(y) + Center X;
        //
        float u = (((c * -tw2) - ys) * zoomX) + centerX;

        //
        // y' = sin(x)+cos(y) + Center Y;
        //
        float v = (((s * -tw2) + yc) * zoomY) + centerY;

        for (int x = 0; x < height; x++) {

            int ut = u >= 0 ? (int) u : (int) u - 1;
            int vt = v >= 0 ? (int) v : (int) v - 1;

            //
            // Texels
            // 1 | 2
            // -------
            // 3 | 4
            //

            //
            // Texel1
            //
            int rgb = pixmap.getPixel(vt, ut);
            int r = (rgb & 0xff000000) >>> 24;
            int g = (rgb & 0x00ff0000) >>> 16;
            int b = (rgb & 0x0000ff00) >>> 8;
            int a = (rgb & 0x000000ff);

            int outR = r;
            int outG = g;
            int outB = b;
            int outA = 255;

            //
            // Texel2
            //
            rgb = pixmap.getPixel(vt, ut + height);
            r = (rgb & 0xff000000) >>> 24;
            g = (rgb & 0x00ff0000) >>> 16;
            b = (rgb & 0x0000ff00) >>> 8;

            outR += r;
            outG += g;
            outB += b;

            //
            // Texel3
            //
            rgb = pixmap.getPixel((vt + width), ut);
            r = (rgb & 0xff000000) >>> 24;
            g = (rgb & 0x00ff0000) >>> 16;
            b = (rgb & 0x0000ff00) >>> 8;

            outR += r;
            outG += g;
            outB += b;

            //
            // Texel 4
            //
            rgb = pixmap.getPixel(vt + width, ut + height);
            r = (rgb & 0xff000000) >>> 24;
            g = (rgb & 0x00ff0000) >>> 16;
            b = (rgb & 0x0000ff00) >>> 8;

            outR += r;
            outG += g;
            outB += b;

            //
            // Clamp
            //
            outR = (outR < 255) ? outR : 255;
            outR = (outR > 0) ? outR : 0;
            outG = (outG < 255) ? outG : 255;
            outG = (outG > 0) ? outG : 0;
            outB = (outB < 255) ? outB : 255;
            outB = (outB > 0) ? outB : 0;

            dstPixmap.drawPixel(x, y, ((int) outR << 24) | ((int) outG << 16) | ((int) outB << 8) | outA);

            //
            // Vectors X
            //
            u += c * zoomX;
            v += s * zoomY;
        }
        //
        // Vectors Y
        //
        ys += s;
        yc += c;
    }
    pixmap.drawPixmap(dstPixmap, 0, 0);
}

From source file:net.shad.s3rend.gfx.pixmap.disort.Vortex.java

License:Apache License

/**
 * // w w  w  . java2s. c om
 * @param pixmap
 * @param centerX
 * @param centerY
 * @param rayX
 * @param rayY
 * @param twist 
 */
public static void generate(final Pixmap pixmap, float centerX, float centerY, float rayX, float rayY,
        float twist) {

    int width = pixmap.getWidth();
    int height = pixmap.getHeight();

    //
    // Process operator
    //
    int dwCenterX = (int) (centerX * width);
    int dwCenterY = (int) (centerY * height);
    int dwRadiusX = (int) (rayX * width);
    int dwRadiusY = (int) (rayY * height);

    float f1_RadiusX = 1.0f / (float) dwRadiusX;
    float f1_RadiusY = 1.0f / (float) dwRadiusY;
    float radians = twist * PI2;

    Pixmap dstPixmap = new Pixmap(width, height, pixmap.getFormat());
    dstPixmap.setColor(Color.BLACK);
    dstPixmap.fill();

    for (int y = 0; y < height; y++) {

        for (int x = 0; x < width; x++) {

            //
            // Calculate distance
            //
            float dx = (float) (x - dwCenterX) * f1_RadiusX;
            float dy = (float) (y - dwCenterY) * f1_RadiusY;
            float d = (float) Math.sqrt(dx * dx + dy * dy);

            //
            // If distance more radius, olny copy pixels
            //
            if (d > 1.0) {
                int rgb = pixmap.getPixel(x, y);
                dstPixmap.drawPixel(x, y, rgb);
            } else {

                d = (float) Math.cos(d * PI1_2 - PI1_2);
                d = 1.0f - d;

                //
                // Rotate around middle
                //
                float nx = x - dwCenterX;
                float ny = y - dwCenterY;

                float rad = radians * d;
                float bx = nx;
                nx = (float) (bx * Math.cos(rad) - nx * Math.sin(rad) + dwCenterX);
                ny = (float) (bx * Math.sin(rad) + ny * Math.cos(rad) + dwCenterY);

                if (nx >= width) {
                    nx = nx - width;
                }
                if (ny >= height) {
                    ny = ny - height;
                }
                if (nx < 0) {
                    nx = width + nx;
                }
                if (ny < 0) {
                    ny = height + ny;
                }

                //
                // Bilinear sample nearest 4 pixels at rotated pos
                //
                int ix, iy;
                ix = (int) nx;
                iy = (int) ny;

                float fracX = nx - ix;
                float fracY = ny - iy;

                float ul = (1.0f - fracX) * (1.0f - fracY);
                float ll = (1.0f - fracX) * fracY;
                float ur = fracX * (1.0f - fracY);
                float lr = fracX * fracY;

                int wrapx = (ix + 1);
                int wrapy = (iy + 1);

                int rgb = pixmap.getPixel(ix, iy);
                int r = (rgb & 0xff000000) >>> 24;
                int g = (rgb & 0x00ff0000) >>> 16;
                int b = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(wrapx, iy);
                int r2 = (rgb & 0xff000000) >>> 24;
                int g2 = (rgb & 0x00ff0000) >>> 16;
                int b2 = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(ix, wrapy);
                int r3 = (rgb & 0xff000000) >>> 24;
                int g3 = (rgb & 0x00ff0000) >>> 16;
                int b3 = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(wrapx, wrapy);
                int r4 = (rgb & 0xff000000) >>> 24;
                int g4 = (rgb & 0x00ff0000) >>> 16;
                int b4 = (rgb & 0x0000ff00) >>> 8;

                r = (int) (r * ul + r2 * ur + r3 * ll + r4 * lr);
                g = (int) (g * ul + g2 * ur + g3 * ll + g4 * lr);
                b = (int) (b * ul + b2 * ur + b3 * ll + b4 * lr);

                //
                // Clamp
                //
                r = (r < 255) ? r : 255;
                r = (r > 0) ? r : 0;
                g = (g < 255) ? g : 255;
                g = (g > 0) ? g : 0;
                b = (b < 255) ? b : 255;
                b = (b > 0) ? b : 0;

                dstPixmap.drawPixel(x, y, ((int) r << 24) | ((int) g << 16) | ((int) b << 8) | 255);
            }
        }
    }
    pixmap.drawPixmap(dstPixmap, 0, 0);
}

From source file:net.shad.s3rend.gfx.pixmap.filter.Normals.java

License:Apache License

/**
 * Main normal map filter process//from ww w.  j a  v a2s  . c o  m
 * @param pixmap
 * @param amplify - The bulge value
 */
public static void generate(final Pixmap pixmap, int amplify) {

    int width = pixmap.getWidth();
    int height = pixmap.getHeight();

    Pixmap dstPixmap = new Pixmap(width, height, pixmap.getFormat());

    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++) {

            pixmap.drawLine(x, y, x, y);

            int rgb = pixmap.getPixel(x, y);
            int r = (rgb & 0xff000000) >>> 24;
            int g = (rgb & 0x00ff0000) >>> 16;
            int b = (rgb & 0x0000ff00) >>> 8;
            int a = (rgb & 0x000000ff);

            //
            // 1 Column
            //
            int rgbXnYn = pixmap.getPixel(x - 1, y - 1);
            int rXnYn = (rgbXnYn & 0xff000000) >>> 24;
            //            int gXnYn=(rgbXnYn & 0x00ff0000) >>> 16;
            //            int bXnYn=(rgbXnYn & 0x0000ff00) >>> 8;

            int rgbXnY = pixmap.getPixel(x - 1, y);
            int rXnY = (rgbXnY & 0xff000000) >>> 24;
            //            int gXnY=(rgbXnY & 0x00ff0000) >>> 16;
            //            int bXnY=(rgbXnY & 0x0000ff00) >>> 8;

            int rgbXnYp = pixmap.getPixel(x - 1, y + 1);
            int rXnYp = (rgbXnYp & 0xff000000) >>> 24;
            //            int gXnYp=(rgbXnYp & 0x00ff0000) >>> 16;
            //            int bXnYp=(rgbXnYp & 0x0000ff00) >>> 8;

            //
            // 2 Column
            //
            int rgbXYn = pixmap.getPixel(x, y - 1);
            int rXYn = (rgbXYn & 0xff000000) >>> 24;
            //            int gXYn=(rgbXYn & 0x00ff0000) >>> 16;
            //            int bXYn=(rgbXYn & 0x0000ff00) >>> 8;

            int rgbXYp = pixmap.getPixel(x, y + 1);
            int rXYp = (rgbXYp & 0xff000000) >>> 24;
            //            int gXYp=(rgbXYp & 0x00ff0000) >>> 16;
            //            int bXYp=(rgbXYp & 0x0000ff00) >>> 8;

            //
            // 3 Column
            //
            int rgbXpYn = pixmap.getPixel(x + 1, y - 1);
            int rXpYn = (rgbXpYn & 0xff000000) >>> 24;
            //            int gXpYn=(rgbXpYn & 0x00ff0000) >>> 16;
            //            int bXpYn=(rgbXpYn & 0x0000ff00) >>> 8;

            int rgbXpY = pixmap.getPixel(x + 1, y);
            int rXpY = (rgbXpY & 0xff000000) >>> 24;
            //            int gXpY=(rgbXpY & 0x00ff0000) >>> 16;
            //            int bXpY=(rgbXpY & 0x0000ff00) >>> 8;

            int rgbXpYp = pixmap.getPixel(x + 1, y + 1);
            int rXpYp = (rgbXpYp & 0xff000000) >>> 24;
            //            int gXpYp=(rgbXpYp & 0x00ff0000) >>> 16;
            //            int bXpYp=(rgbXpYp & 0x0000ff00) >>> 8;

            //
            // Y Sobel filter operation
            //
            // [ 1  2  1]            
            // [         
            // [-1 -2 -1]         
            //            
            float dY = 0;
            dY += rXnYn * 1.0f;
            dY += rXYn * 2.0f;
            dY += rXpYn * 1.0f;

            dY += rXnYp * -1.0f;
            dY += rXYp * -2.0f;
            dY += rXpYp * -1.0f;

            //
            // X Sobel filter
            //
            // [-1     1]
            // [-2     2]
            // [-1     1]
            //
            float dX = 0;
            dX = rXnYn * -1.0f;
            dX += rXnY * -2.0f;
            dX += rXnYp * -1.0f;

            dX += rXpYn * 1.0f;
            dX += rXpY * 2.0f;
            dX += rXpYp * 1.0f;

            //
            // Compute the cross product of the two vectors
            //
            Vector3 norm = new Vector3();
            norm.x = -dX * amplify / 255.0f;
            norm.y = -dY * amplify / 255.0f;
            norm.z = 1.0f;

            //
            // Normalize
            //
            norm.nor();

            //
            // Store
            // [-1.0f->1.0f] -> [0 -> 255]
            //
            r = (int) ((norm.x + 1.0f) / 2.0f * 255.0f);
            g = (int) ((norm.y + 1.0f) / 2.0f * 255.0f);
            b = (int) ((norm.z + 1.0f) / 2.0f * 255.0f);

            dstPixmap.drawPixel(x, y, ((int) r << 24) | ((int) g << 16) | ((int) b << 8) | a);
        }
    }
    pixmap.drawPixmap(dstPixmap, 0, 0);
}

From source file:nl.basroding.director.views.actors.basic.ListDeluxe.java

License:Apache License

public void setTableStyle(TableListStyle style) {
    this.tableStyle = style;
    Pixmap pixmap = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
    pixmap.setColor(style.alternatingColor.r, style.alternatingColor.g, style.alternatingColor.b,
            style.alternatingColor.a);/*w  w w  .  jav a 2s.  c  o m*/
    pixmap.drawPixel(0, 0);
    pixmapTexture = new Texture(pixmap);
    pixmap.dispose();
}

From source file:nl.colorize.multimedialib.renderer.libgdx.GDXRenderer.java

License:Apache License

private Texture generateColorTexture(ColorRGB color) {
    Pixmap pixelData = new Pixmap(COLOR_TEXTURE_SIZE, COLOR_TEXTURE_SIZE, Pixmap.Format.RGBA8888);
    pixelData.setColor(color.getR() / 255f, color.getG() / 255f, color.getB() / 255f, 1f);
    pixelData.fillRectangle(0, 0, COLOR_TEXTURE_SIZE, COLOR_TEXTURE_SIZE);
    return new Texture(pixelData);
}

From source file:org.ah.gcc.rover.desktop.DesktopGCCRoverController.java

License:Open Source License

@Override
public void create() {
    // platformSpecific.init();

    String fontName = "fonts/din-alternate-bold-64.fnt";
    if (Gdx.graphics.getWidth() <= 320) {
        fontName = "fonts/din-alternate-bold-15.fnt";
    }//from   ww  w. j  av  a  2  s  . c  o  m

    font = new BitmapFont(Gdx.files.internal(fontName), true);
    glyphLayout = new GlyphLayout();

    font.setColor(Color.BLACK);
    batch = new SpriteBatch();
    img = new Texture("badlogic.jpg");

    camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    cellSize = Gdx.graphics.getWidth() / 20;

    shapeRenderer = new ShapeRenderer();

    leftjoystick = new JoyStick((int) cellSize * 8, (int) cellSize * 4, (int) cellSize * 4);
    rightjoystick = new JoyStick((int) cellSize * 8, (int) cellSize * 16, (int) cellSize * 4);

    leftExpo = new ExpoGraph((int) cellSize * 5, (int) cellSize * 2, (int) cellSize * 2, (int) cellSize * 2);
    rightExpo = new ExpoGraph((int) cellSize * 13, (int) cellSize * 2, (int) cellSize * 2, (int) cellSize * 2);

    leftExpo.setPercentage(0.75f);
    rightExpo.setPercentage(0.90f);

    roverSelectButton = new Button((int) cellSize * 6, 0, (int) cellSize * 8, (int) (cellSize * 1.5),
            new Button.ButtonCallback() {
                @Override
                public void invoke(boolean state) {
                    if (state) {
                        int selectedRover = roverDriver.getSelectedRover().getValue() + 1;
                        if (selectedRover >= RoverHandler.ROVERS.length) {
                            selectedRover = 0;
                        }
                        roverDriver.getSelectedRover().setValue(selectedRover);
                    }
                }
            });

    pov = new POV((int) cellSize * 9, (int) cellSize * 4, (int) cellSize * 2);

    button1 = new RoundButton((int) cellSize * 6, (int) cellSize * 11, (int) cellSize / 2);

    switchLT = new SquareButton((int) cellSize * 0, (int) (cellSize * 0), (int) cellSize * 4,
            (int) cellSize * 2);
    switchLT.setState(false);
    switchLB = new Switch((int) cellSize * 0, (int) (cellSize * 2), (int) cellSize * 2, Orientation.HORIZONTAL);
    switchLB.setState(false);

    switchRT = new SquareButton((int) cellSize * 16, (int) (cellSize * 0), (int) cellSize * 4,
            (int) cellSize * 2);
    switchRT.setState(false);
    switchRB = new Switch((int) cellSize * 16, (int) (cellSize * 2), (int) cellSize * 2,
            Orientation.HORIZONTAL);
    switchRB.setState(false);

    inputMultiplexer = new InputMultiplexer();
    inputMultiplexer.addProcessor(this);
    inputMultiplexer.addProcessor(new GestureDetector(this));
    Gdx.input.setInputProcessor(inputMultiplexer);

    screenController = new ScreenController();
    realController = platformSpecific.getRealController();

    screenController.setLeftJotstick(leftjoystick);
    screenController.setRightJotstick(rightjoystick);
    screenController.setHat(pov);
    screenController.setButton(switchLB, ControllerState.ButtonType.ORBIT_BUTTON);
    screenController.setButton(switchRB, ControllerState.ButtonType.LOCK_AXIS_BUTTON);
    screenController.setButton(switchLT, ControllerState.ButtonType.BOOST_BUTTON);
    screenController.setButton(switchRT, ControllerState.ButtonType.KICK_BUTTON);
    screenController.setButton(roverSelectButton, ControllerState.ButtonType.SELECT_BUTTON);

    if (realController != null) {
        comboController = new ComboController(screenController, realController);
        roverDriver = new RoverDriver(roverHandler, comboController);
    } else {
        roverDriver = new RoverDriver(roverHandler, screenController);
    }

    roverDriver.getLeftJoystick().addListener(new JoystickComponentListener() {
        @Override
        public void changed(JoystickState state) {
            leftjoystick.setValues(state.getX(), state.getY());
        }
    });

    roverDriver.getRightJoystick().addListener(new JoystickComponentListener() {
        @Override
        public void changed(JoystickState state) {
            rightjoystick.setValues(state.getX(), state.getY());
        }
    });

    roverDriver.getRoverSpeedValue().addListener(new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            roverSpeed = evt.getNewValue().toString();
        }
    });

    roverDriver.getReadDistanceValue().addListener(new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            roverTurningDistance = evt.getNewValue().toString();
        }
    });

    logoDrawer = new LogoDrawer(batch, camera);

    Pixmap pixmap = new Pixmap(32, 32, Format.RGBA8888);
    //Cursor customCursor = Gdx.graphics.newCursor(pixmap, 0, 0);
    //Gdx.graphics.setCursor(customCursor);
}