
正文
关于图的java代码 javaturtle绘图代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
解释一下这段JAVA 关于图片上传的代码
private File file;
private String fileFileName;
private String picture;
//都有getter 和 setter
InputStream is = new FileInputStream(file);
//引入一个IO流的输入流
String root = ServletActionContext.getRequest()
.getRealPath("/bookpicture");
//通过REQUEST来得到相对地址,并在后面加上/bookpicture
File f = new File(root, this.getFileFileName());
//定义一个FILE文件,第一个参数是文件的路径,第二个是文件的名字
picture="."+"\\"+"bookpicture"+"\\"+this.getFileFileName();
//为PICTURE字符串赋值,/地址/文件名
System.out.println
("======picture====="+picture);
//从控制台输出Picture
OutputStream os = new FileOutputStream(f);
//第一个文件的输出流
byte[] buffer = new byte[1024];
//定义一个bufer的字符串,长度为1024
int len = 0;
while ((len = is.read(buffer)) 0) {
//如果从制定文件中读取到的信息为结束就继续循环
os.write(buffer, 0, len);
//将文件读出的内容写入到指定的文件中
}
相关问答
Q1: java.imageIo给图片添加水印的实现代码
最近项目在做一个商城项目 项目上的图片要添加水印① 添加图片水印;②:添加文字水印;一下提供下个方法 希望大家可以用得着 复制代码 代码如下: package blogs image; import java awt AlphaComposite; import java awt Color; import java awt Font; import java awt Graphics D; import java awt Image; import java awt RenderingHints; import java awt image BufferedImage; import java io File; import java io FileOutputStream; import java io InputStream; import java io OutputStream; import javax imageio ImageIO; import javax swing ImageIcon; /** * 图片水印 */ public class ImageUtil { /** * @param args */ public static void main(String[] args) { String srcImgPath = "e:/ png"; String iconPath = "e:logo jpg"; String targerPath = "e:/ jpg"; // 给图片添加水印 ImageUtil waterMarkImageByIcon(iconPath srcImgPath targerPath f); // 给图片添加水印 水印旋转 // ImageMarkLogoByIcon markImageByIcon(iconPath srcImgPath // targerPath ); } /** * 给图片添加水印 可设置水印图片旋转角度 * * @param iconPath * 水印图片路径 * @param srcImgPath * 源图片路径 * @param targerPath * 目标图片路径 * @param degree * 水印图片旋转角度 * @param width * 宽度(与左相比) * @param height * 高度(与顶相比) * @param clarity * 透明度(小于 的数)越接近 越透明 */ public static void waterMarkImageByIcon(String iconPath String srcImgPath String targerPath Integer degree Integer width Integer height float clarity) { OutputStream os = null; try { Image srcImg = ImageIO read(new File(srcImgPath)); System out println("width:" + srcImg getWidth(null)); System out println("height:" + srcImg getHeight(null)); BufferedImage buffImg = new BufferedImage(srcImg getWidth(null) srcImg getHeight(null) BufferedImage TYPE_INT_RGB); // 得到画笔对象 // Graphics g= buffImg getGraphics(); Graphics D g = buffImg createGraphics(); // 设置对线段的锯齿状边缘处理 g setRenderingHint(RenderingHints KEY_INTERPOLATION RenderingHints VALUE_INTERPOLATION_BILINEAR); g drawImage( srcImg getScaledInstance(srcImg getWidth(null) srcImg getHeight(null) Image SCALE_SMOOTH) null); if (null != degree) { // 设置水印旋转 g rotate(Math toRadians(degree) (double) buffImg getWidth() / (double) buffImg getHeight() / ); } // 水印图象的路径 水印一般为gif或者png的 这样可设置透明度 ImageIcon imgIcon = new ImageIcon(iconPath); // 得到Image对象 Image img = imgIcon getImage(); float alpha = clarity; // 透明度 g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP alpha)); // 表示水印图片的位置 g drawImage(img width height null); g setComposite(AlphaComposite getInstance(AlphaComposite SRC_OVER)); g dispose(); os = new FileOutputStream(targerPath); // 生成图片 ImageIO write(buffImg "JPG" os); System out println("添加水印图片完成!"); } catch (Exception e) { e printStackTrace(); } finally { try { if (null != os) os close(); } catch (Exception e) { e printStackTrace(); } } } /** * 给图片添加水印 可设置水印图片旋转角度 * * @param logoText * 水印文字 * @param srcImgPath * 源图片路径 * @param targerPath * 目标图片路径 * @param degree * 水印图片旋转角度 * @param width * 宽度(与左相比) * @param height * 高度(与顶相比) * @param clarity * 透明度(小于 的数)越接近 越透明 */ public static void waterMarkByText(String logoText String srcImgPath String targerPath Integer degree Integer width Integer height Float clarity) { // 主图片的路径 InputStream is = null; OutputStream os = null; try { Image srcImg = ImageIO read(new File(srcImgPath)); BufferedImage buffImg = new BufferedImage(srcImg getWidth(null) srcImg getHeight(null) BufferedImage TYPE_INT_RGB); // 得到画笔对象 // Graphics g= buffImg getGraphics(); Graphics D g = buffImg createGraphics(); // 设置对线段的锯齿状边缘处理 g setRenderingHint(RenderingHints KEY_INTERPOLATION RenderingHints VALUE_INTERPOLATION_BILINEAR); g drawImage( srcImg getScaledInstance(srcImg getWidth(null) srcImg getHeight(null) Image SCALE_SMOOTH) null); if (null != degree) { // 设置水印旋转 g rotate(Math toRadians(degree) (double) buffImg getWidth() / (double) buffImg getHeight() / ); } // 设置颜色 g setColor(Color red); // 设置 Font g setFont(new Font("宋体" Font BOLD )); float alpha = clarity; g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP alpha)); // 第一参数 设置的内容 后面两个参数 文字在图片上的坐标位置(x y) g drawString(logoText width height); g dispose(); os = new FileOutputStream(targerPath); // 生成图片 ImageIO write(buffImg "JPG" os); System out println("添加水印文字完成!"); } catch (Exception e) { e printStackTrace(); } finally { try { if (null != is) is close(); } catch (Exception e) { e printStackTrace(); } try { if (null != os) os close(); } catch (Exception e) { e printStackTrace(); } } } }
还有一个图片缩放代码:
复制代码 代码如下: lishixinzhi/Article/program/Java/JSP/201311/20206
Q2: 怎么用java代码模拟一张图片
用java代码模拟一张图片可以这样操作:1.创建BufferedImage类
2.根据BufferedImage类得到一个Graphics2D对象
3.根据Graphics2D对象进行逻辑操作
4.处理绘图
5.将绘制好的图片写入到图片
关于关于图的java代码和javaturtle绘图代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







