Java2D
iteye_17172
这个作者很懒,什么都没留下…
展开
-
Java图像渐变
图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果:原始图片:[img]http://www.kutoku.info/images/java/100813/0.png[/img]...2010-08-13 16:05:04 · 141 阅读 · 0 评论 -
Swing显示图片
Swing显示图片可以有很多的种选择,例如:可以用JLabel和JTable等,通过自己的编程我还是推荐使用JPanel,因为JLable显示图片常常出现内存溢出的问题,我估计[b]JLabel只是将图片以图标的形式显示,所以对内存有一定的限制,如果图片像素过大会出现内存溢出[/b],而JPanel则是将图片“画”在面板上,所以可以使用更大的内存吧。下面是将图片显示在JPanel的关键方法...原创 2010-06-02 17:48:44 · 1021 阅读 · 0 评论 -
Java加载图片 利用Image与BufferedImage
Image是一个抽象列,BufferedImage是Image的实现。Image和BufferedImage的主要作用就是将一副图片加载到内存中。Java将一副图片加载到内存中的方法是:[code="java"]String imgPath = "C://demo.jpg";BufferedImage image = ImageIO.read(new FileInputStre...原创 2010-06-04 13:14:33 · 873 阅读 · 0 评论 -
Java图片变亮 变暗
Java在图片处理领域的功能是非常强大的,不过现在用的最多的好像是Web方面,什么Sping,Struts之类的,我个人也在用这些,也不排斥这些,只是在这个工程中经常和图片打交道,如果就写了好多的图片处理算法(工具),这里和大家分享下。Java将图片变亮的原理也很简单,拿到图片的RGB值,然后在这个基础上 +X(0...原创 2010-06-05 01:42:06 · 879 阅读 · 0 评论 -
Java 图像钝化与锐化
Java图像的钝化和锐化就是一个算法的问题,说白了就是两个方法的问题,所以非常容易,我觉得甚至比图像的加载和保存都简单。图像的加载请参考两篇站内文章:[url]http://javapub.iteye.com/blog/683944[/url] 和 [url]http://javapub.iteye.com/blog/682257[/url]。具体的锐化和钝化设计到的数学原理超出我的关心范围了...原创 2010-06-05 02:08:46 · 1091 阅读 · 0 评论 -
Java图像图片 边缘检测
对图片进行边缘检测在很多领域是非常重要的,例如:车牌号码的识别。边缘检测用到的算法我这里既不关心也不去深究了,只提供算法,对算法有兴趣的读者可以自己去找找图像处理的书参考下,或者也可以给我留言。[code="java"]public final BufferedImage getPicEdge(BufferedImage originalPic) { int imageWidth =...2010-06-06 20:54:54 · 1287 阅读 · 1 评论 -
Java图像变灰 及相关类ColorSpace,ColorConvertOp
用Java进行图像处理,会遇到ColorSpace这个类:[b]ColorSpace [/b][code="java"]public abstract class ColorSpace extends Object implements Serializable[/code]这个类的作用用官方语言就是就很困惑了,我这里举一个例子大家就明白这个类是做什么的了,大家利用Photoshop新建一...2010-06-08 15:49:08 · 616 阅读 · 0 评论 -
Java 给图片增加 水印图片 水印文字
很多时候会用到给图片增加水印,这个时候我推荐利用“光影魔术手”,它完成水印的功能非常强大,而且也可以批处理,不过Java也可以非常轻松的完成这些事情,但效果也打点折扣,坦诚点说吧,java在图像处理方面确实不如c++,不过这本来就不是java的强项,都可以理解。利用Java给图片增加水印道理很简单:利用Java在内存中加载一副图片,然后在此基础上加载第二幅图片,而这叠加就成了水印,同时第二...原创 2010-07-12 20:49:10 · 134 阅读 · 0 评论 -
控件位置可以配置的Swing桌面
用过Wordpress或者Joomla的朋友一定对他们的灵活的页面布局印象深刻。在Joomla中,你可以将一个控件,放在页面的任何一个位置,例如:左边,右边,菜单,底部等等。所以我也尝试着在Swing桌面上实现类似的功能,思考以后发现其实swing实现这种功能比利用html页面实现该功能还简单。[b]首先我们定义一个位置接口,实现该接口的类就标示它的位置[/b][code="j...2011-01-07 17:48:18 · 99 阅读 · 0 评论 -
Java将大图片转成小图片
我们经常会将一个小的图片变成小一些的图片,利用java可以方便的实现,而且实现了这个功能后就可以实现更强大的功能,将一个文件夹中的所有图片都变成一个尺寸。这里提供一个将大图变成小图的方法。并且提供一个根据这个方法的写好的一个:图片批量尺寸处理器。可以将一个文件夹下的所有图片,批量的按照一定尺寸都保存到另一个文件夹中。该工具在操作超大图片的时候会出现内存溢出的错误。功能简单也没有做太多出错处...原创 2010-05-14 16:46:21 · 420 阅读 · 0 评论 -
jfreechart jar包下载
jfreechart 是java用于生成图表的开源工具包,网上找比较难找,而且总是有些垃圾网站提供虚假的下载地址,这里提供一个可以下载的网址.[url]http://www.kutoku.info/software/2010/1015/jfreechart.zip[/url]...原创 2010-10-15 10:07:14 · 1929 阅读 · 1 评论 -
GradientPaint类的作用
[b]GradientPaint是Java2D中专门用来控制渐变的类[/b],它提供了使用线性颜色渐变模式填充 Shape 的方法。其构造函数GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2),充分说明了它的作用,即从点(x1,y1)到点(x2,y2)进行渐变。如果在用户空间指定了 Po...原创 2010-10-11 15:35:48 · 276 阅读 · 0 评论 -
类DirectColorModel的作用
DirectColorModel 类别是使用像素值的 ColorModel 类别,像素值以单独样本的形式表示 RGB 颜色和 alpha 信息,并将单个像素的所有样本打包成单个 int、short 或 byte 量。此类别只能与型别 ColorSpace.TYPE_RGB 的 ColorSpaces 一起使用。此外,对于 ColorSpace 的每个份量,通过 ColorSpace 的 g...原创 2010-08-13 16:11:30 · 467 阅读 · 1 评论 -
Java图像缩放 图片缩放
图像缩放是我们常常用到的一个操作,原理是数字图像处理的事,这里不管了。利用程序来讲原理很好理解。第一:拿到原始图片的宽度和高度。第二:根据缩放比例获得新图片的宽度和高度。第三:用例原始图片的像素获得新的图片。以下是完整的方法:[code="java"]public final BufferedImage getResizePicture(BufferedImage or...2010-08-15 12:31:20 · 164 阅读 · 0 评论 -
Java2D特效 文字旋转
将图形围绕某点按照给定的角度进行旋转效果图:[img]http://www.kutoku.info/images/java/100903/rorate.png[/img]源代码:[code="java"]import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.a...原创 2010-09-03 17:12:01 · 285 阅读 · 0 评论 -
利用JFreeChart画坐标及曲线图
关键词:Swing,JFreeChart,坐标,曲线图运行以下代码,需要jfreechart的jar包,如果没有请留言。运行效果图:[img]http://www.kutoku.info/images/java/100907/chart.jpg[/img]完整代码:[code="java"]package org.jfree.chart.demo;import ...原创 2010-09-07 16:54:20 · 622 阅读 · 0 评论 -
Swing特效-渐显效果
能不能让Swing控件也有渐隐和渐显的效果呢,答案当然是肯定的。这里也要说明一下Swing这些高级特性的实现机制。Swing里的特效不是靠调用一个方法就可以实现的,而是要我们自己去写这些方法,主要还是重写Swing的public void paint(Graphics g)方法。Swing的一切样式说白了都是利用paint方法“画”上去的,所以说Swing比较慢,当然如果我们考虑Swing主要用来...2010-09-09 16:04:26 · 343 阅读 · 0 评论 -
Java 2D 学习资料和API
[b]关键词:Java2D,坐标转换,渲染,坐标系,字体[/b] Java 2D API增强了AWT的图形、文本和图像处理能力,使你能开发富客户界面和新类型的Java应用程序。 除了这些丰富的图形、字体和图像处理接口,Java 2D API还支持增强的颜色定义及合成、任意形状和文本的边界检测及打印机和显示设备的统一渲染模型。 Java 2D API还能使你创建高级...原创 2010-09-13 15:56:57 · 229 阅读 · 0 评论 -
Java关于JIT的原理和相关知识
今天在读java.awt.Toolkit类时,遇到了JIT,代码如下:[code="java"]/** * Gets the default toolkit. * * If a system property named "java.awt.headless" is set * to true then the headless impleme...原创 2010-09-13 16:31:50 · 190 阅读 · 0 评论 -
Swing控件(JPanel,Container等)设置背景图片
Swing控件有直接设置背景颜色的方法,但没有直接设置背景图片的方法。这里不解的是为什么Swing默认不提供这个方法呢?既然它不提供我们就自己写一个吧,也不难,你要你知道Swing容器的图片都是用protected void paintComponent(Graphics g) 画上去的就可以了。我们写一个类提供一个public void setBackground(Icon wallpa...原创 2010-09-16 11:07:33 · 689 阅读 · 0 评论 -
利用JFrame直接显示JFreeChart的图片
核心代码就是要将一个JFreeChart 对象,写到BufferedImage中。JFreeChart 中没有提供类似getImage(), getBufferedImage()方法,而是提供了一个createBufferedImage方法。在这个例子中,您还可以找到如何解决JFreeChart的时间乱码问题。[b]JFreeChart chart = createChart(da...原创 2012-06-12 16:38:13 · 494 阅读 · 0 评论