小编Ros*_*lax的帖子

如何使用glReadPixels()Bufferedimage水平翻转图像并使用ImageIO输出?

如何翻转截图图像?我无法在其他任何地方找到我的问题.
示例代码:

/*
*@param fileLoc //Location of fileoutput destination
*@param format  //"png"
*@param WIDTH   //Display.width();
*@param HEIGHT  //Display.height();
*/
private void getScreenImage(){
             int[] pixels = new int[WIDTH * HEIGHT];
             int bindex;
             // allocate space for RBG pixels
             ByteBuffer fb = ByteBuffer.allocateDirect(WIDTH * HEIGHT * 3);//.order(ByteOrder.nativeOrder());
             // grab a copy of the current frame contents as RGB

             glReadPixels(0, 0, WIDTH, HEIGHT, GL_RGB, GL_UNSIGNED_BYTE, fb);

             BufferedImage image = new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
             // convert RGB data in ByteBuffer to integer array
             for (int …
Run Code Online (Sandbox Code Playgroud)

java screenshot lwjgl glreadpixels javax.imageio

4
推荐指数
1
解决办法
4302
查看次数

如何让java使用毫米而不是像素?

我的问题是,我根据毫米到像素调整图片大小,然后将其打印出来,这永远不会准确。我的问题是有一种方法可以让 java 以毫米或任何其他公制单位而不是像素进行绘制,因为像素永远不会精确到毫米。

java printing size lwjgl image-resizing

2
推荐指数
1
解决办法
5969
查看次数

Printable 打印 BufferedImage 的大小不正确

所以是的,我在这里尝试的是打印 BufferedImage,一切正常,直到您看到结果。结果太大了,印刷品太大了,并且在印刷时由于某种原因不会放大所有东西。我曾经((MM * DPI)/25,4)根据纸张大小从毫米计算正确的像素长度,但是当我打印它时它很大。

这是我为它编写的代码:

package frik.main;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;

import java.awt.event.*;

import javax.swing.*;
import frik.data.Config;
import frik.utils.ImgUtil;

public class Previewer implements Config, Printable, ActionListener{

    private JFrame Frame;
    private JPanel ImagePanel;
    private JLabel PicLabel;
    private JButton PrintButton;
    private static BufferedImage before;
    private static boolean Scaled;

    public Previewer(BufferedImage Image, boolean scaled){
        this.before = Image; …
Run Code Online (Sandbox Code Playgroud)

java printing swing bufferedimage resize

2
推荐指数
1
解决办法
3423
查看次数

LibGdx鼠标位置相对于正交相机而不是屏幕

基本上我写了一个基于OrthographicCameralibgdx 的"Dota like Style" .你可以在这里测试一下这个课程.

我正在使用它来绘制TiledMap,并且我有与图形图块对应的图块阵列,但是如果我移动鼠标,那么就是相机.
鼠标和瓷砖的坐标完全不同.
Gdx.inputx和y得到它们相对于屏幕的坐标,而不是相对于相机的鼠标在世界中的位置.

我无法弄清楚相对于相机获取鼠标位置的方法,所以如果我移动相机我不会只获得常规鼠标坐标,而是相机显示的实际世界坐标,以及我的位置鼠标位于相机相对于世界的视野范围内.

public class DotaCamera extends OrthographicCamera {

    private float xmin;
    private float xmax;
    private float ymin;
    private float ymax;

    private float x;
    private float y;

    private int Width = Gdx.graphics.getWidth();;
    private int Height = Gdx.graphics.getHeight();

    private int camSpeedMax = 16;
    private float camAcceleration = 0.3f;
    private int camSpeedSmoother = 3;

    private float camVelocityX = 0;
    private float camVelocityY = 0;

    private float fZoomMax = 1f;
    private float fZoomMin = …
Run Code Online (Sandbox Code Playgroud)

java camera vector game-engine libgdx

2
推荐指数
1
解决办法
4843
查看次数

在Java中打印BufferedImage的正确方法

我想知道是否有一种正确的BufferedImageJava 打印方式.基本上我已经创建了一个工作正常的照片处理程序,我可以保存图像等.但我的真正目标是将其发送到打印机软件,以便您可以选择要打印的页面数量和页面类型.

所以我的缩短问题是,如何将缓冲的图像发送到打印机,以便弹出打印机选择屏幕等,然后才能打印?

如果有人能告诉我这方面的一个例子,我将不胜感激.

java printing graphics bufferedimage graphics2d

1
推荐指数
1
解决办法
1万
查看次数