「java图片纠正」java图片扭曲
本篇文章给大家谈谈java图片纠正,以及java图片扭曲对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
用java处理图片,使图片像素和长宽成比例变小,请各位高手帮忙解决一下,急
90 * 90的图片
应该是分成9个10 * 10的吧
static Image createImage(Image image, int x, int y, int width, int height, int transform)
Image类里面自带方法创建分割图片
可以这样创建:
Image imgBase = Image.createImage("/*.png");
Image img[] = new Image[9];
for(int i = 0; i 9; i++)
{
img[i] = Image.createImage(imgBase, (i % 3) * 10, (i / 3) * 10, 10, 10, Sprite.TRANS_NONE); //参数分别是:源图片,截取的X坐标,Y坐标,宽,高,翻转类型
}
这样就可以了
当然以上代码需要放在try里面
如果想分成其他的小图片,可以按照需要变动坐标和宽高等参数
JAVA 图片大小设置
应该是路径问题。
把你要显示的图片放在你的Test类里,
再把 :con = new ImageIcon("D:\\java程序\\1.jpg");
改成 : icon = new ImageIcon("./1.jpg");
你试试,看行不。
如何使用java旋转图片
废话不多说直接上代码:
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Transparency;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;
public class ImageChange {
public static InputStream rotateImg(BufferedImage image, int degree, Color bgcolor) throws IOException {
int iw = image.getWidth();//原始图象的宽度
int ih = image.getHeight();//原始图象的高度
int w = 0;
int h = 0;
int x = 0;
int y = 0;
degree = degree % 360;
if (degree 0)
degree = 360 + degree;//将角度转换到0-360度之间
double ang = Math.toRadians(degree);//将角度转为弧度
/**
*确定旋转后的图象的高度和宽度
*/
if (degree == 180 || degree == 0 || degree == 360) {
w = iw;
h = ih;
} else if (degree == 90 || degree == 270) {
w = ih;
h = iw;
} else {
int d = iw + ih;
w = (int) (d * Math.abs(Math.cos(ang)));
h = (int) (d * Math.abs(Math.sin(ang)));
}
x = (w / 2) - (iw / 2);//确定原点坐标
y = (h / 2) - (ih / 2);
BufferedImage rotatedImage = new BufferedImage(w, h, image.getType());
Graphics2D gs = (Graphics2D)rotatedImage.getGraphics();
if(bgcolor==null){
rotatedImage = gs.getDeviceConfiguration().createCompatibleImage(w, h, Transparency.TRANSLUCENT);
}else{
gs.setColor(bgcolor);
gs.fillRect(0, 0, w, h);//以给定颜色绘制旋转后图片的背景
}
AffineTransform at = new AffineTransform();
at.rotate(ang, w / 2, h / 2);//旋转图象
at.translate(x, y);
AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);
op.filter(image, rotatedImage);
image = rotatedImage;
ByteArrayOutputStream byteOut= new ByteArrayOutputStream();
ImageOutputStream iamgeOut = ImageIO.createImageOutputStream(byteOut);
ImageIO.write(image, "png", iamgeOut);
InputStream inputStream = new ByteArrayInputStream(byteOut.toByteArray());
return inputStream;
}
}
java 纠正
你错的地方都给你标注了,因为代码不全,也就没给你改, 错误的地方都被你标出来,如何改业告诉你了,你对照的改应该就能改对。
//package dataStructure.linearList;
//import dataStructure.linearList.Node;
//import dataStructure.linearList.LinkedQueue;
//import dataStructure.linearList.Stack;
//这些什么引用的是什么啊?
import java.io.*;
public class zhs {
public static void main(String args[])
{
char x;
int y,z;
int i=-1;
char ch [][]=new table[n][3];// 定义char型二维数组?tabel什么啊?还有,n没定义啊!
for(int k=0;kch.length-1;k++)
{
System.out.println("请输入一组数据");
// 下边这行代码如果不报错,就要引用import java.io.*; 输入输出流的数据包,如上
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
char ch[i++]=br.readLine();
// 上边定义过ch数组了,这里重名了,应该是char[] ch1 = br.readLine().toCharArray();
x=ch[i++][0];
y=Integer.parseInt(ch[i++][1]);
z=Integer.parseInt(ch[i++][2]);
Seqstack stack=new Seqstack(5);
if(x='A') // 括号内是判断语句,非赋值语句,所以应该是 == 双等号
if(stack.push(y)5)
System.out.println( "y号车到站,且在停车场内stack.push(y)号位置" );
else
System.out.println("y好车到站,且在过道的stack.push(y)-5好位置");
if(x='D') // 同样的道理,双等号
int a=z;// a, b ,c 应该放在循环语句外边定义否则没用一次就定义一次
for(int j=0;jch.length-1;j++)
if(x='A'ch[i++][1]=ch[j][1]) // 同上
int b=Integer.parseInt(ch[j][2]);
int c=a-b;
System.out.println("y号车停留时间为c小时");
}
}
}
不好意思啊。。栈和队列的问题,老师没怎么讲,我也没看。。所以。。
java实现图片旋转90度的问题
类Graphics2D的方法rotate(double theta, double x,
double y)可以用来旋转图片
java图片纠正的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图片扭曲、java图片纠正的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。