`
tanpengxiong
  • 浏览: 20832 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java图片应用

阅读更多
import java.awt.Color;  
import java.awt.Font;  
import java.awt.Graphics2D;  
import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.IOException;  
import java.net.URL;  
 
private Font font = null;// 添加字体的属性设置  
 
private Graphics2D g = null;  
 
private int fontsize = 0;  
 
private int x = 0;  
 
private int y = 0;  
 
 
/** 
* 导入本地图片到缓冲区 
*/ 
public BufferedImage loadImageLocal(String imgName)  
{  
    try 
    {  
        return ImageIO.read(new File(imgName));  
    } catch (IOException e)  
    {  
        System.out.println(e.getMessage());  
    }  
    return null;  
}  
 
 
/** 
* 导入网络图片到缓冲区 
*/ 
public BufferedImage loadImageUrl(String imgName)  
{  
    try 
    {  
        URL url = new URL(imgName);  
        return ImageIO.read(url);  
    } catch (IOException e)  
    {  
        System.out.println(e.getMessage());  
    }  
    return null;  
}  
 
 
 
/** 
* 生成新图片到本地 
*/ 
public void writeImageLocal(String newImage, BufferedImage img)  
{  
    if (newImage != null && img != null)  
    {  
        try 
        {  
            File outputfile = new File(newImage);  
            ImageIO.write(img, "gif", outputfile);  
        } catch (IOException e)  
        {  
            System.out.println(e.getMessage());  
        }  
    }  
}  
 
 
/** 
* 设定文字的字体等 
*/ 
public void setFont(String fontStyle, int fontSize)  
{  
    this.fontsize = fontSize;  
    this.font = new Font(fontStyle, Font.PLAIN, fontSize);  
}  
 
 
 
/** 
* 修改图片,返回修改后的图片缓冲区(只输出一行文本) 
*/ 
public BufferedImage modifyImage(BufferedImage img, Object content, int x,int y)  
{  
 
    try 
    {  
        int w = img.getWidth();  
        int h = img.getHeight();  
        g = img.createGraphics();  
        g.setBackground(Color.WHITE);  
        g.setColor(Color.RED);  
        if (this.font != null)  
        g.setFont(this.font);  
        // 验证输出位置的纵坐标和横坐标  
        if (x >= h || y >= w)  
        {  
            this.x = h - this.fontsize + 2;  
            this.y = w;  
        } else 
        {  
            this.x = x;  
            this.y = y;  
        }  
        if (content != null)  
        {  
            g.drawString(content.toString(), this.x, this.y);  
        }  
        g.dispose();  
    } catch (Exception e)  
    {  
        System.out.println(e.getMessage());  
    }  
 
    return img;  
}  
 
/** 
* 修改图片,返回修改后的图片缓冲区(输出多个文本段) xory:true表示将内容在一行中输出;false表示将内容多行输出 
*/ 
public BufferedImage modifyImage(BufferedImage img, Object[] contentArr,int x, int y, boolean xory)  
{  
    try 
    {  
        int w = img.getWidth();  
        int h = img.getHeight();  
        g = img.createGraphics();  
        g.setBackground(Color.WHITE);  
        g.setColor(Color.RED);  
        if (this.font != null)  
        g.setFont(this.font);  
        // 验证输出位置的纵坐标和横坐标  
        if (x >= h || y >= w)  
        {  
            this.x = h - this.fontsize + 2;  
            this.y = w;  
        } else 
        {  
            this.x = x;  
            this.y = y;  
        }  
        if (contentArr != null)  
        {  
            int arrlen = contentArr.length;  
            if (xory)  
            {  
                for (int i = 0; i < arrlen; i++)  
                {  
                    g.drawString(contentArr[i].toString(), this.x, this.y);  
                    this.x += contentArr[i].toString().length()* this.fontsize / 2 + 5;//重新计算文本输出位置  
                }  
            } else 
            {  
                for (int i = 0; i < arrlen; i++)  
                {  
                    g.drawString(contentArr[i].toString(), this.x, this.y);  
                    this.y += this.fontsize + 2;//重新计算文本输出位置  
                }  
            }  
        }  
        g.dispose();  
    } catch (Exception e)  
    {  
        System.out.println(e.getMessage());  
    }  
 
    return img;  
}
分享到:
评论

相关推荐

    java图片浏览管理系统

    Java图片浏览管理系统是一款基于Java开发的简易应用,旨在帮助用户方便地查看和管理他们的图片集合。这个系统可能包含了文件浏览器组件、图片预览功能、以及一些基本的图片操作选项,如旋转、缩放等。下面将详细介绍...

    java小应用程序 连续显示图片

    【Java小应用程序连续显示图片详解】 在Java编程中,实现一个能够连续显示多张图片的小应用程序,主要涉及以下几个核心知识点: 1. **Swing库**:Java Swing是Java Foundation Classes (JFC)的一部分,用于构建...

    java 图片水印 改变图片大小

    在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...

    java编写的图片浏览器

    总的来说,这个Java图片浏览器项目体现了面向对象编程的原则,结合了文件I/O、GUI设计和图片处理技术,展示了Java在开发桌面应用程序方面的强大能力。同时,其优化的内存管理策略使得该应用能够适应各种规模的图片...

    java实现图片转换为视频

    本篇文章将详细探讨如何使用Java实现图片到视频的转换。 首先,我们需要理解Java中的关键库,如Java Advanced Imaging (JAI) 和 Java Media Framework (JMF)。JAI主要用于图像处理和分析,而JMF则用于媒体播放和...

    Java实现图片上传

    在IT行业中,图片上传功能是Web应用和移动应用中非常常见的一种需求,特别是在社交媒体、电商、博客等场景下。本文将深入探讨如何使用Java来实现图片上传的功能,主要涉及的技术点包括文件处理、HTTP请求、Multipart...

    java对图片进行操作.rar_java 图片剪裁_java图片_图片

    在Java编程语言中,处理图像是一项常见的任务,无论是为了创建应用程序、网站还是处理用户上传的媒体。本资源“java对图片进行操作.rar”提供了一种用Java进行图像操作的工具类,特别关注于图片的剪裁、重置大小以及...

    java图片裁剪

    在Java编程语言中,图片裁剪是一项常见的图像处理任务,主要涉及到对图像的选取和截取,以便获得图像的一部分或按...理解基本概念,掌握常用库的使用,并了解如何优化和处理异常情况,是成功实现Java图片裁剪的关键。

    java多张图片合成,图片拼接,图片上写字

    在Java编程语言中,处理图像是一项常见的任务,尤其在开发涉及多媒体内容的应用程序时。本篇文章将深入探讨如何使用Java实现“多张图片合成”、“图片拼接”以及“图片上写字”的功能。我们将主要围绕提供的`ImgUtil...

    Java 2应用开发指南

    【Java 2应用开发指南】是一本专注于Java 2平台应用程序开发的专业书籍,它涵盖了从基础到高级的Java编程知识,旨在帮助开发者深入理解和实践Java技术。书中可能包含了大量的实例代码、项目案例以及详细的解释,使得...

    java实现的图片防篡改功能

    在这个项目中,我们主要探讨如何利用Java实现图片的防篡改功能,通过生成图片的唯一标识(哈希值)并进行比对来检测图片是否被篡改。 1. **哈希算法**: 哈希(Hash)函数是一种将任意长度的数据映射为固定长度...

    java高清处理图片

    ### Java高清处理图片:利用ImageMagick提升图片质量和效率 #### 背景与需求 在实际项目开发中,图片处理是一项常见的需求,包括但不限于图片的压缩、尺寸调整以及添加水印等操作。传统的Java库虽然能够实现这些...

    java实现图片上传预览

    在Java Web开发中,图片上传预览功能是一个常见的需求,尤其在用户交互性强的网站或应用中。这个功能允许用户在上传图片之前查看其效果,确保上传的图片符合预期。以下将详细介绍如何在Java环境中,结合ASP和JSP技术...

    java ocr 图片解析

    它支持多种语言,并且有一个Java API,可以通过JNA或Java Native Access与Java应用程序集成。要使用Tesseract,首先需要安装Tesseract的本地库,然后通过Java接口调用其API进行图片文字识别。 2. **PIL(Python ...

    java图片上传、控制大小、宽度高度和图片裁剪并保存

    在Java编程中,图片处理是一项常见的任务,包括图片的上传、尺寸控制、宽高调整以及裁剪和保存等操作。这些功能在Web应用、图像处理软件或者数据分析项目中都有广泛的应用。下面我们将深入探讨如何使用Java实现这些...

    Java调用OCR进行图片识别

    Java调用OCR进行图片识别 Java调用OCR进行图片识别是指使用Java语言通过Tesseract-OCR对图片进行识别的技术。下面是相关知识点的详细解释: 一、Tesseract-OCR简介 Tesseract-OCR是一个开源的OCR(Optical ...

    Java将图片合并为视频

    在Java编程环境中,将一系列图片合并成视频是一个常见的多媒体处理任务。这个项目文件提供了一种实现...通过学习和理解这个项目,你可以掌握Java进行多媒体处理的能力,这对于开发视频编辑、动画制作等应用非常有帮助。

    java 图片查看器

    Java图片查看器是一个桌面应用程序,它实现了基本的图片浏览功能。用户能够打开并查看不同格式的图像文件,如.jpg、.png或.gif等。在Java中实现这样的功能,开发者通常会利用Java的图形用户界面(GUI)库,如JavaFX...

    java图片管理器(对刚学JAVA的人的提升有帮助)

    本项目名为"Java图片管理器",专为初学者设计,旨在提升对Java编程的理解和应用能力。这个程序能够帮助用户有效地管理和组织他们的图片文件,提供了一个简单易用的图形用户界面(GUI)。通过这个项目,初学者可以...

    java 图片管理系统代码及设计.ppt

    J2SE 包含核心 Java 类和 GUI 类,J2EE 包含开发 Web 应用程序所需的类和接口,J2ME 体现了 Java 的传统优势,为消费类产品提供了一个已优化的运行时环境。 4. 关于 Java 软件工程师的简介 Java 软件工程师运用 ...

Global site tag (gtag.js) - Google Analytics