「java测像素」水平像素数
今天给各位分享java测像素的知识,其中也会对水平像素数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、在java中如何获得屏幕像素的大小
- 2、JAVA SE里怎么实现像素碰撞检测啊?
- 3、java 中如何获得灰度图像的像素值,getRGB和getRaster有什么区别?
- 4、Java 如何获取一张图片的像素坐标?
- 5、java 怎么提取Image对象的像素数据
在java中如何获得屏幕像素的大小
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int)screensize.getWidth();
int height = (int)screensize.getHeight();
//屏幕的物理大小还需要知道屏幕的dpi 意思是说一英寸多少个象素
int dpi = Toolkit.getDefaultToolkit().getScreenResolution();
//然后用象素除以dpi 就可以得到多少英寸了 你要是再不知道英寸怎么转换厘米 那我也不知道怎么帮忙了
JAVA SE里怎么实现像素碰撞检测啊?
awt里有一个类 Rectangle, 它有一个方法public boolean intersects(Rectangle r) 可检测物体碰撞.确定此 Rectangle 是否与指定 Rectangle 相交。如果两个矩形的交集为非空,则它们是相交的。
也就是说小车代表的矩形和护栏代表的矩形相交
java 中如何获得灰度图像的像素值,getRGB和getRaster有什么区别?
关于图像像素值,我想要先讲一下Java中如何组织一个图像对象BufferedImage的,
一个BufferedImage的像素数据储存在Raster中,ColorModel里面储存颜色空间,类型等
信息,当前Java只支持一下三种图像格式- JPG,PNG,GIF,如何向让Java支持其它格式,首
先要 完成Java中的图像读写接口,然后打成jar,加上启动参数- Xbootclasspath/p
newimageformatIO.jar即可。
取得BufferedImage的代码如下:
File file = new File("D:\\test\\blue_flower.jpg");
BufferedImage image = ImageIO.read(file);
取得像素使用getRGB,代码如下:
int type= image.getType();
if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
return (int [])image.getRaster().getDataElements(x, y, width, height, pixels );
else
return image.getRGB( x, y, width, height, pixels, 0, width );
写入像素,才可能用到getRaster,在type为ARGB 或RGB时,必须使用getRaster().setDataElements方式设置,其他格式直接setRGB,代码如下:
int type= image.getType();
if ( type ==BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB )
image.getRaster().setDataElements(x, y, width, height, pixels );
else
image.setRGB(x, y, width, height, pixels, 0, width );
Java 如何获取一张图片的像素坐标?
这个所谓像素就是你获得的每个点,而且你是放在数组里,不过应该是二维数组吧,你上边写的是一维数组,二位的话数组中所在的位置不就是像素坐标了吗
java 怎么提取Image对象的像素数据
这个是一段透明化处理的代码,里面有获取像素的代码存在!希望对你有所帮助!
pixels将是像素,int pixels[] = (int[]) pgr.getPixels();这里将写入到数组中了!
/**
* 使图片中的某一种颜色透明
*
* @param image
* Image
* @param RGB16
* String 十六进制的六位颜色值字符串
* @param isFiltrate
* boolean
* @return Image
*/
public static Image setTranImage(Image image, String RGB16,
boolean isFiltrate)
{
int width = image.getWidth(null);
int height = image.getHeight(null);
Image abufferedimage = new BufferedImage(width, height, 2);
Graphics g = abufferedimage.getGraphics();
g.drawImage(image, 0, 0, width, height, 0, 0, width, height, null);
g.dispose();
// 透明化处理
PixelGrabber pgr = new PixelGrabber(abufferedimage, 0, 0, -1, -1, true);
try
{
pgr.grabPixels();
}
catch (InterruptedException ex)
{
ex.getStackTrace();
}
int pixels[] = (int[]) pgr.getPixels();
if (isFiltrate RGB16.length() == 6)
{
// 循环像素
for (int i = 0; i pixels.length; i++)
{
// 去色
if (((pixels[i] 0x00ff0000) 16 == Integer.parseInt(
RGB16.substring(0, 2), 16)
(pixels[i] 0x0000ff00) 8 == Integer.parseInt(
RGB16.substring(2, 4), 16) (pixels[i] 0x000000ff) == Integer
.parseInt(RGB16.substring(4, 6), 16)))
{
// 透明化
pixels[i] = 0;
}
}
}
ImageProducer ip = new MemoryImageSource(pgr.getWidth(),
pgr.getHeight(), pixels, 0, pgr.getWidth());
return toolkit.createImage(ip);
}
java测像素的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于水平像素数、java测像素的信息别忘了在本站进行查找喔。