Tag: 图形

哪些库可用于帮助为手机创建2D Java游戏?

我想开始为手机开发2D Java游戏(在J2ME上),因此我想知道是否存在任何库或“引擎”来帮助完成各种图形任务: 用像素字体绘制文字? 为具有多个帧的精灵绘制位图,如动画GIF? 使用代码,线条,贝塞尔曲线,填充和渐变填充绘制图形? 精灵的订购/分层? 或者也许存在一本很棒的书,它可以为您提供足够的代码示例以便快速启动?

使用透明背景保存缓冲图像

我将签名图像保存为.jpg图片。 我使用graphic2d在图像的每个像素上绘制(使用签名平板电脑获得)并且它完美地工作但我总是得到白色背景。 如果我想将签名放在PDF文档上,jpg图像的白色方块的边框覆盖了PDF的一些单词。 我想要的是用透明背景保存jpg图像,所以当我把它放在PDF上时,没有白色图像背景覆盖的文字,只有标记线。 这是保存缓冲图像的代码。 它用白色背景做到了。 // This method refers to the signature image to save private RenderedImage getImage() { int width = tabletWidth; int height = tabletHeight; // Create a buffered image in which to draw BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // Create a graphics contents on the buffered image Graphics2D g2d […]

如何在Android中调整位图的最佳方式?

假设我有一个六边形: 如果我resize以在我的应用程序中使用它,其中包含六边形网格: // … bgPaint = new Paint(); bgPaint.setAntiAlias(true); bgPaint.setDither(true); // … Bitmap coloredBackground = BitmapFactory.decodeResource(getResources(), R.drawable.bg); // … canvas.drawBitmap(coloredBackground, null, getAsRect(), bgPaint); 我明白了: getAsRect()返回我用于绘图的Rect对象。 我想要实现的是摆脱边缘的透明像素。 我想我做错了什么,但到目前为止我找不到。 你知道我怎么能解决这个问题? 我试着尝试抖动和抗锯齿,但没有改变。

如何使用Java2D创建硬件加速映像?

我正在尝试创建一个快速图像生成器,它可以进行大量的2D变换和形状渲染,因此我尝试使用BufferedImage,然后获取Graphics2D对象来执行我的所有绘图。 我现在主要关注的是make非常快,所以我正在创建一个像这样的BufferedImage: GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsConfiguration gc = ge.getDefaultScreenDevice().getDefaultConfiguration(); BufferedImage bImage = gc.createCompatibleImage(width, height, Transparency.TRANSLUCENT); Graphics2D graphics = bImage.createGraphics(); 但是,如果我这样做: System.out.println(bImage.getCapabilities(gc).isAccelerated()); 输出始终为false ,即使我使用-Dsun.java2d.opengl = True启动JVM也会打印该行: OpenGL pipeline enabled for default config on screen 0 我正在做一个BufferedImage,因为最后我想用ImageIO.write(bImage,“PNG”,file)将它保存到PNG文件中; 我可以创建一个VolatileImage,它会说它是加速的,但ImageIO在尝试保存时并不喜欢它,并说该图像无法转换为RenderedImage。 有关如何获得可存储到磁盘的加速图像的任何想法? 此外,我不想创建一个VolatileImage和复制到BufferedImage来保存,因为我的图像真的很大,我会遇到内存不足的问题……

如何在Java中使用Blender模型?

真的只是一个普遍问题吗? 假设我正在制作游戏,并在Blender中制作了角色模型。 我如何在Java中使用此模型? 我会以某种方式导入它吗? 谢谢。

在jframe中创建java的正方形,矩形,三角形

我有一个Java的问题因为我明白不会来Java中绘制几何图形,代码和以下你可以帮助我吗? 这是代码: public class Gioco { public static void main (String args []) { PaintRect(); } public static void PaintRect() { g.drawRect(100,100,300,300); g.drawLine(100,100,100,100); g.setBackground(Color.BLACK); System.out.println(“Trasut”); credits.setText(“Kitebbiv”); credits.setBackground(null); credits.setEditable(false); credits.setFocusable(false); credits.setBounds(0,0,100,100); credits.setForeground(Color.BLACK); panel.add(credits); g.getPaint(); } 如何创建三角形,正方形和矩形的JFrame ? 更正我的代码谢谢

读取,表示和渲染地图数据的最佳方法是什么?

我有兴趣将一个简单的导航应用程序编写为宠物项目。 在搜索免费地图数据后,我已经确定了美国人口普查局TIGER 2007 Line / Shapefile地图数据。 数据被分成各个县的zip文件,我已经为我的区域下载了一个县的地图数据。 将此地图数据读入可用格式的最佳方法是什么? 我应该怎么做: 读入这些文件 解析它们 – 正则表达式或某些已经可以解析这些Shapefile的库? 将数据加载到我的应用程序中 – 我应该将这些点直接加载到内存中的某些数据结构中吗? 使用小型数据库? 关闭地图数据的应用程序后,我不需要持久性。 用户可以再次加载Shapefile。 在读取Shapefile数据后,渲染地图的最佳方法是什么? 理想情况下,我希望能够读取县地图数据shapefile并将所有多边形线渲染到屏幕上并允许旋转和缩放。 我应该怎么做: 将lat / lon点转换为屏幕坐标? – 据我所知,Shapefile使用经度和纬度作为其点。 显然,我将不得不以某种方式将这些转换为屏幕坐标以显示地图function。 以我可以轻松旋转和缩放整个地图的方式渲染地图数据(道路,边界等一系列折线)? 将我的整个地图渲染为一系列“图块”,以便只显示查看区域内的要素/线条? 防爆。 作为显示地图呈现的TIGER数据: alt text http://sofzh.miximages.com/java/ngosjl.png 任何对我在这些文件中阅读的最佳方式有经验和洞察力的人,我应该如何在我的程序中表示它们(数据库,内存数据结构),以及我应该如何渲染(使用旋转/缩放)地图数据在屏幕上将不胜感激。 编辑:澄清一下,我不想使用任何谷歌或雅虎地图API。 同样,我不想使用OpenStreetMap。 我正在寻找一种比使用这些api /程序更实用的方法。 这将是一个桌面应用程序。

在java中绘制线条

此代码存在许多问题 public class LineEx extends JFrame implements MouseMotionListener,MouseListener{ int x1,y1,x2,y2; public LineEx(){ JLabel image=new JLabel(“”); JFileChooser chooser=new JFileChooser(); chooser.setCurrentDirectory(new File(“.”)); int r=chooser.showOpenDialog(new JFrame()); File file=chooser.getSelectedFile(); if(r==JFileChooser.APPROVE_OPTION){ try { BufferedImage bf; bf = ImageIO.read(file); ImageIcon icon=new ImageIcon(bf); image.setIcon(icon); image.setHorizontalAlignment(JLabel.CENTER); } catch (IOException ex) { Logger.getLogger(LineEx.class.getName()).log(Level.SEVERE, null, ex); } } JScrollPane jsp=new JScrollPane(image); getContentPane().add(jsp); image.addMouseListener(this); image.addMouseMotionListener(this); this.pack(); […]

在绘制图像时,jFrame GetGraphics在java中为null

我将图像绘制到jframe时出现nullexception错误。 我调试代码并检查图像和帧不是null但仍然在绘制图像到帧时抛出NULLexception。 请看一看 : public void run(){ try{ ObjectInputStream objVideoIn = new ObjectInputStream(serVideoIn); byte[] imgbytes=null; ByteArrayInputStream barrin=null; JFrame jf = new JFrame(); Graphics ga=jf.getGraphics(); //Getting null exception //Thread.sleep(10000); jf.setVisible(true); jf.setSize(400, 400); while(true){ int index=0; //Thread.sleep(300); int size= (int)objVideoIn.readObject(); imgbytes = new byte[size]; barrin = new ByteArrayInputStream(imgbytes); System.out.println(“image size” + size); //Thread.sleep(200); while(index<size) { System.out.println("reading image"); […]

JFrame无法全屏显示所有图像

所以,我正在开展一个需要在图像之间切换的项目。 图像需要处于全屏模式。 我似乎面临着两个问题。 首先是图像切换。 当我在图像之间切换时,切换时某些图像显示正常。 其他人似乎根本不会出现在屏幕上。 我似乎只是得到一个空框架。 其次是正确的键似乎每次都有效,但仅仅为了我的理智,我已经放了系统打印。 系统似乎没有显示在控制台上,但它在框架中切换图像(尽管我有时会得到一个空框架)。 任何建议/解决方案将受到高度赞赏。 关于代码的注意事项:我所拥有的绘制字符串用于测试坐标。 我正在使用Eyetribe,所以只是为了显示我正在寻找的位置。 束带似乎完美无缺。 此外,我正在快速调用switchImage,几乎每秒22次。 这可能是个问题吗? 虽然它让我想知道为什么它适用于某些图像而不适用于其他图像。 更新:问题似乎在g.drawImage中。 它似乎没有绘制一些图像,但我似乎无法弄清楚为什么会发生这种情况。 目前这是我的全屏图像代码。 public void showFrame(){ //jL -> JLabel //jF -> JFrame //jP -> Panel jF.setTitle(“Test”); jF.setUndecorated(true); jF.setResizable(false); jF.setVisible(true); Toolkit tk = Toolkit.getDefaultToolkit(); int xsize = (int)tk.getScreenSize().getWidth(); int ysize = (int)tk.getScreenSize().getHeight(); jF.setSize(xsize, ysize); jF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); if(testImagesList != null){ img = […]