「java像素长度」java获取屏幕宽度
今天给各位分享java像素长度的知识,其中也会对java获取屏幕宽度进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java哪个类提供了获取图片所占存储空间大小?或者如何计算?求详细
- 2、Java里setSize()的长度单位
- 3、java 已知每个像素的c,m,y,k的值,和图片长宽,如何生成图片
- 4、有关Java的awt或者swing实现在图片上添加文字的处理(像素和字符串长度单位转换的问题)
- 5、在java中如何获得屏幕像素的大小
java哪个类提供了获取图片所占存储空间大小?或者如何计算?求详细
图片占内存容量计算公式为:
图片所占内存大小 = 图片长度(像素) * 图片宽度(像素) * 一个像素所占内存空间(单位:字节)
一般地,一个象素所占内存空间根据机器颜色数(专业词汇叫色深Color Depth)来决定:(1)Nokia 老S40机器 颜色数为4096色,就是2^12, 一个象素所占内存空间为1.5个字节;(2)Nokia S40新版 机器和 S60机器 颜色数为65536色,就是2^16, 一个象素所占内存空间为2个字节;有些机器颜色数为26w色,就是2^18=2.2字节,1600w = 2^24=3个字节,一个象素所占内存空间为4个字节。
ps:专业名词“8位”是指所能表现的颜色深度:一个8位图像仅最多只能支持256(2^8)种不同颜色,1个字节。
Java里setSize()的长度单位
setSize(width,height);
width - 组件的新宽度,单位是像素
height - 组件的新高度,单位是像素
java 已知每个像素的c,m,y,k的值,和图片长宽,如何生成图片
BufferedImage image=new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
Graphics g=image.getGraphics();
Random r=new Random();
g.setColor(new Color(r.nextInt(255),r.nextInt(255), r.nextInt(255)));
g.fillRect(0, 0, 80, 20);
g.setColor(Color.BLACK);
String num=r.nextInt(99999)+"";
ActionContext.getContext().getSession().put("num", num);
g.drawString(num, 5, 15);
ByteArrayOutputStream os=new ByteArrayOutputStream();//创建内存输出流
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(os); //将输出流用于 创建JPEG编码图片对象
try {
encoder.encode(image);//图片编码
inputStream=new ByteArrayInputStream(os.toByteArray());//将输出流转换为输入流,以便存入内存,方便struts2.xml中参数以getInputStream()获取
} catch (ImageFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是最近我们能上课讲的生成验证码的方法,包括创建图片
有关Java的awt或者swing实现在图片上添加文字的处理(像素和字符串长度单位转换的问题)
先用java.awt.Graphics2D.getFont()取得当前正在使用的字体f,java.awt.Graphics2D.getFontRenderContext()取得当前正在使用的渲染上下文frc
然后再用Rectangle2D rect=f.getStringBounds(str,frc)就可以得到你渲染这些文字所占据的矩形,使用rect.getWidth(), rect,getHeight()就可以知道这个矩形的大小了。
反过来通过像素大小决定字符串的长度没有现成的方法。如果你的字体是等宽的可以先用上面的方法求出一个字符的大小然后自己算,不然就只能先试试一个字符,再试试两个字符……直到超过你要的长度就返回的办法了(看起来效率比较低,不过实际使用的时候不是很影响性能)
在java中如何获得屏幕像素的大小
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int)screensize.getWidth();
int height = (int)screensize.getHeight();
//屏幕的物理大小还需要知道屏幕的dpi 意思是说一英寸多少个象素
int dpi = Toolkit.getDefaultToolkit().getScreenResolution();
//然后用象素除以dpi 就可以得到多少英寸了 你要是再不知道英寸怎么转换厘米 那我也不知道怎么帮忙了
关于java像素长度和java获取屏幕宽度的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。