如何翻转截图图像?我无法在其他任何地方找到我的问题.
示例代码:
/*
*@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 以毫米或任何其他公制单位而不是像素进行绘制,因为像素永远不会精确到毫米。
所以是的,我在这里尝试的是打印 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) 基本上我写了一个基于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) 我想知道是否有一种正确的BufferedImageJava 打印方式.基本上我已经创建了一个工作正常的照片处理程序,我可以保存图像等.但我的真正目标是将其发送到打印机软件,以便您可以选择要打印的页面数量和页面类型.
所以我的缩短问题是,如何将缓冲的图像发送到打印机,以便弹出打印机选择屏幕等,然后才能打印?
如果有人能告诉我这方面的一个例子,我将不胜感激.
java ×5
printing ×3
lwjgl ×2
camera ×1
game-engine ×1
glreadpixels ×1
graphics ×1
graphics2d ×1
libgdx ×1
resize ×1
screenshot ×1
size ×1
swing ×1
vector ×1