刚进入Jdialog的时候有一个圆,它是g2.setColor(new Color(196,196,196));g2.fillOval(0, 0, (int)width, (int)height);这样画的,这个只是背景圆,现在的问题是,我每次的WIDTH,HEIGHT都不一样,我想让g2.fillOval(0, 0, (int)width, (int)height);在原来的基础上按中心缩放,如何实现?????
解决方案 »
- java创建网络file
- 大虾帮帮忙
- Javascript杂谈 (Java杂谈续)
- Swing中如何让窗体全屏,总在最前面,没有边框和控制栏,并且不能切换出去,也不能最小化……
- 一般对于JAVA的内存泄露问题怎么解决?
- 利用java反射机制可以访问类的私有成员,这不是破坏了面向对象类的封装性原则吗?
- 一个奇怪的问题,帮忙解决一下!谢谢
- 高手快请进,回复有分!!!
- 我怎么取得session中的每个变量的值及session的长度,请赐教!谢谢!非常急用!高分!请详细一点,一定给分!
- 如果我有两个JAVA文件,其中一个需要调用另一里面的定义CLASS,应该怎么写呢???
- 寻找Jgraph高手
- 在JLIST里面拖动,要求只能让同一种格式的文件进行拖动
this.getHeight()/2
坐标 x/2, y/2
大小 w/2, y/2
* 缩放原始图片到合适大小.
* @param srcImage 原始图片
* @param fixedWidth 规定的宽度
* @param fixedHeight 规定的高度
* @return BufferedImage - 处理后的图片
*/
public static BufferedImage zoomImage(BufferedImage srcImage ,int fixedWidth,int fixedHeight){
int MAX_WIDTH = fixedWidth;// TODO: 缩放后的图片最大宽度
int MAX_HEIGHT = fixedHeight;// TODO: 缩放后的图片最大高度
int imageWidth = srcImage.getWidth(null); // 800
int imageHeight = srcImage.getHeight(null); // 600 int thumbWidth = MAX_WIDTH;
int thumbHeight = MAX_HEIGHT;
double thumbRatio = (double)thumbWidth / (double)thumbHeight; // 1 : 图片的比率
double imageRatio = (double)imageWidth / (double)imageHeight; // 8/6
if (thumbRatio < imageRatio) {
thumbHeight = (int)(thumbWidth / imageRatio);
} else {
thumbWidth = (int)(thumbHeight * imageRatio);
}
// 如果图片小于所略图大小, 不作处理
if(imageWidth < MAX_WIDTH && imageHeight < MAX_HEIGHT) {
thumbWidth = imageWidth;
thumbHeight = imageHeight;
} BufferedImage thumbImage = new BufferedImage(thumbWidth,
thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(srcImage, 0, 0, thumbWidth, thumbHeight, null);
System.out.println("thumbWidth=" + thumbWidth);
System.out.println("thumbHeight=" + thumbHeight);
return thumbImage;
}