包含javabufferedimage的词条
本篇文章给大家谈谈javabufferedimage,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 如何用BufferedImage画出图像
- 2、java中BufferedImage图像有哪几种类型?
- 3、Java:Image和BufferedImage的区别是什么?
- 4、BufferedImage是什么用法?
- 5、关于java中利用BufferedImage的双缓冲技术
- 6、关于JAVA的问题:如何将BufferedImage转换为Image
java 如何用BufferedImage画出图像
drawimage都是对Image对象处理,和组件的绘制梁念孙一点关系也没;
把newImage的图再画到image里面去;
实例橡链代码如下:
public class Tank extends JFrame {
private Image img = null;
boolean fi = false;
BufferedImage bi;
public Tank() {
this.addKeyListener(new KeyMonitor());
this.setBounds(300, 300, 300, 300);
this.setVisible(true);
this.setDefaultCloseOperation(Tank.EXIT_ON_CLOSE);
}
class KeyMonitor extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case 37: {
高散
img = getToolkit().createImage("res/TankPic/pre.GIF");
fi = true;
System.out.println(img);
repaint();
break;
}
}
}
}
public void paint(Graphics g) {
super.paint(g);
bi = new BufferedImage(getSize().width, getSize().height, BufferedImage.TYPE_INT_ARGB);
bi.getGraphics();
if (fi) {
g = img.getGraphics();
g.drawImage(bi, 50, 50, 40, 40, this);
}
}
public static void main(String[] args) {
new Tank();
}
}
[img]java中BufferedImage图像有哪几种类型?
Java的BufferedImage类是Image类的子类。属于一种类型,它是用来处理和操作丛侍的图像数据。
构造函数构造一个新BufferedImage一个具有指定ColorModel和Raster。
它计算的任意矩形区域慎租BufferedImage并将其复制到指定的WritableRaster。
构造函数构造一个BufferedImage预定义图像类型之一,TYPE_BYTE_BINARY或TYPE_BYTE_INDEXED。
它返回默认RGB颜色模型(TYPE_INT_ARGB)和默认sRGB色彩空间中的整数像素。
Java是一种高级编程语言被广泛使用在现代世界渗孝吵。 它可以支持和处理的数字图像处理有效地使用各种功能。
Java:Image和BufferedImage的区别是什么?
Image是一个抽象类,BufferedImage是Image的实现类。
Image和陵世BufferedImage的主要作用就是将一副图片加载到内存中。
BufferedImage 子类描述具有可访问图像数据缓冲区的 Image。BufferedImage 由图像数据的 ColorModel 和 Raster 组成。Raster 的 SampleModel 中 band 的数量和类型必须与 ColorModel 所要求的数量和类型相匹配,以表示其颜色和 alpha 分量。所有 BufferedImage 对象的左上角坐标都为 (0, 0)。因此,用来构造咐汪兄 BufferedImage 的任何 Raster 都必须满足:minX=0 且 minY=0。
Java将一副图片加载到内存中的方法是:
String imgPath = "D://demo.bmp";
BufferedImage image = ImageIO.read(new FileInputStream(imgPath));
该方法BufferedImage 可以获得图片的详细信息,例如:获得图片的宽度:image.getWidth(null);图片只有加载内存中才能对图片进行进一步衡袭的处理。
BufferedImage是什么用法?
Image是一个抽象列,BufferedImage是Image的实现。
Image和BufferedImage的主要作用就是将一副图片加载到内存中。
Java将一副图片加载到内存中的方法是:
Java代码
String imgPath = "C://demo.jpg";
BufferedImage image = ImageIO.read(new FileInputStream(imgPath));
该方法可以获得图片的详细信息,例如:获得图片的宽度:image.getWidth(null);图片只有加
载内存中才能对图片进行进一步的处理。
java
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
简介
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有袭拆预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,弯竖以“Java”的名称正式发布。
java标志Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,现在网上关于这方面的教程有很多,但很多都是过时的,因为互联网是在不断的变化的,互联网上的牛人,要想成为Java大神,走进这条Java大神之群,首先Java教程的开头是二三一,Java的最中间是三一四,Java的最后面再加上零二八,把埋禅大前面的综合起来,Java大神期待你的加入。这里有很多互联网大牛教你学习,还有免费的课程。不是想学习的就不要加了。
关于java中利用BufferedImage的双缓冲技术
双缓冲就是先在内存中的另一张“画布”上扰纤进行多次绘没衡图,然后把画好的图在一次性画到屏幕上,也就是最后一步的g.drawimage。简单的说,一个graphics对应缓察仿着自己的绘图区域图形上下文
关于JAVA的问题:如何将BufferedImage转换为Image
参考:
有完整的示范代码。
下面是从网站上提取出来的转仔戚胡换函数。请把下面代码复制到eclipse中,按ctrl+shift+f整理一下格式,就可以直接使用了。
函数的输出是ImageData对象。为了得到Image对象,可以用new Image(display, imageData);得到Image对象。
/**
* a href=
* ""Convert
* between SWT Image and AWT BufferedImage : SWT Swing AWT « SWT JFace
* Eclipse « Java/a br/
* span style="color:green"仔御原名:static ImageData convertToSWT(BufferedImage
* bufferedImage)(ImageData data)/span br/
*
* @param bufferedImage
* @return
*/
public static ImageData convertAWTBufferedImageToSWTImageData(BufferedImage bufferedImage) {
if (bufferedImage.getColorModel() instanceof DirectColorModel) {
DirectColorModel colorModel = (DirectColorModel) bufferedImage.getColorModel();
PaletteData palette = new PaletteData(colorModel.getRedMask(), colorModel.getGreenMask(),
colorModel.getBlueMask());
ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(),
colorModel.getPixelSize(), palette);
WritableRaster raster = bufferedImage.getRaster();
int[] pixelArray = new int[3];
for (int y = 0; 念拦y data.height; y++) {
for (int x = 0; x data.width; x++) {
raster.getPixel(x, y, pixelArray);
int pixel = palette.getPixel(new RGB(pixelArray[0], pixelArray[1], pixelArray[2]));
data.setPixel(x, y, pixel);
}
}
return data;
} else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
IndexColorModel colorModel = (IndexColorModel) bufferedImage.getColorModel();
int size = colorModel.getMapSize();
byte[] reds = new byte[size];
byte[] greens = new byte[size];
byte[] blues = new byte[size];
colorModel.getReds(reds);
colorModel.getGreens(greens);
colorModel.getBlues(blues);
RGB[] rgbs = new RGB[size];
for (int i = 0; i rgbs.length; i++) {
rgbs[i] = new RGB(reds[i] 0xFF, greens[i] 0xFF, blues[i] 0xFF);
}
PaletteData palette = new PaletteData(rgbs);
ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(),
colorModel.getPixelSize(), palette);
data.transparentPixel = colorModel.getTransparentPixel();
WritableRaster raster = bufferedImage.getRaster();
int[] pixelArray = new int[1];
for (int y = 0; y data.height; y++) {
for (int x = 0; x data.width; x++) {
raster.getPixel(x, y, pixelArray);
data.setPixel(x, y, pixelArray[0]);
}
}
return data;
}
return null;
}
关于javabufferedimage和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。