`

java applet例子---图片像素处理

阅读更多
package applet;

import java.applet.Applet;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageProducer;
import java.awt.image.RGBImageFilter;
import java.net.MalformedURLException;
import java.net.URL;

//实现图像色素过滤功能
public class PixelProcess extends Applet {

	Image oldImage;
	Image currentImage;
	int i = 0;

	public void init() {
		
		try {
			oldImage = this
					.getImage(new URL(
							"file:///C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/可爱小狗.jpg"));
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		imageProcess();
	}
	public boolean mouseDown(Event e,int x,int y){ //重载父类方法
		i++;
		imageProcess();
		repaint();

		return true;
	}
	public void paint(Graphics g){
		g.drawImage(currentImage, 0, 0, this);
	}
	
	public synchronized boolean imageUpdate(Image m,int f,int x,int y,int w,int h){
		repaint(100);
		return true;
	}

	public synchronized void imageProcess() {

		RGBImageFilter imageFilter;
		if (i % 2 == 0) {
			imageFilter = new NonFilter();
		} else {
			imageFilter = new RGBFilter();
		}

		ImageProducer imageProducer = oldImage.getSource();
		imageProducer = new FilteredImageSource(imageProducer, imageFilter);
		currentImage = createImage(imageProducer);

	}
}



// 不做渲染
class NonFilter extends RGBImageFilter {

	public int filterRGB(int x, int y, int rgb) {
		return rgb;
	}
}

class RGBFilter extends RGBImageFilter {
	public int filterRGB(int x, int y, int rgb) {
		return (rgb & 0xff00ff00) | ((rgb & 0xff0000) >> 16)
				| ((rgb & 0xff) << 16);
	}
}


执行结果:
初始图片:


点击applet后


再次点击就会状态交替出现
  • 大小: 35.8 KB
  • 大小: 33.8 KB
分享到:
评论

相关推荐

    JavaApplet与JavaScript

    JavaApplet 提供了强大的功能,如多媒体处理和网络通信,而 JavaScript 则更侧重于前端的交互性和动态性。通过结合使用这两种技术,开发者能够构建出功能强大且用户体验优秀的 Web 应用程序。然而,随着现代 Web ...

    javaApplet程序输出正方形图案

    Java Applet是Java的一种早期特性,它允许小段Java代码在网页中运行,提供交互性的功能,比如动画、游戏或者图形绘制。在这个特定的问题中,我们需要编写一个Java Applet程序来输出一个由星号(*)组成的正方形图案...

    Applet

    例如,在"HelloWorld.html"这个例子中,HTML代码告诉浏览器加载名为"HelloWorld.class"的Applet,并为其分配了200像素宽和100像素高的空间。这个Applet对应的源代码"HelloWorld.java"继承自Applet类,并重写了init()...

    局部放大,放大镜效果

    在这个案例中,Applet容器是运行Java Applet的环境,它包含了要显示的图片。 核心知识点包括: 1. 图像处理:程序需要加载和处理图像文件。在Java中,我们可以使用`java.awt.Image`类来加载图像,然后通过`java....

    java播放声音的例子

    这些导入语句引入了必要的包,其中`java.net`用于处理网络URL,`java.applet`包含`AudioClip`类,`javax.swing`和`java.awt`提供了创建GUI组件的方法。 ```java public class Music { AudioClip m; ``` 定义了一...

    java游戏编程(JDK5)

    - **HSPACE, VSPACE**: 定义了浏览器应该为Applet左右和上下留出的空间像素数。 #### 内置Java颜色 Java提供了多种内置的颜色,这些颜色可以通过Color类直接访问。下面列出了一些常用的内置颜色及其对应的RGB值: ...

    java_clock.rar_电子时钟显示

    本项目“java_clock.rar_电子时钟显示”就是一个这样的例子,它是一个基于Java的Applet程序,用于模拟液晶显示屏上的双行时钟显示。 首先,我们需要理解Applet的概念。Applet是Java的一种小程序,它可以嵌入到HTML...

    Java绘制矩形.pdf

    在这个例子中,`Rect`类继承自`Applet`,并且重写了`paint()`方法。在`paint()`方法中,我们创建了一个`Graphics`对象`g`,然后调用`g`的`fillRect()`和`drawRect()`方法来绘制实心和空心矩形。运行这个程序后,你会...

    Java 2 图形设计卷

    是用applet程序还是使用应用程序实现这些例子则是完全随机的,因为所有的例子使用applet程序和使用应用程序实现是等价的。在本章的所有例子中,都是采用加载图像作为资源的方式进行的。这和在上一章中的“AWT技巧:...

    java 2D 用代码画图 用代码画动画

    首先,Java 2D API是Java Standard Edition (Java SE) 的一部分,它提供了丰富的接口和类,用于构建高质量的2D图形、文本和图像处理。这些API包括`java.awt`和`javax.swing`包中的类,如`Graphics2D`、`Shape`、`...

    使用Java进行图像处理的一些基础操作

    在Java中进行图像处理是一项常见的任务,特别是在开发GUI应用程序或者游戏时。Java提供了丰富的API来支持图像的加载、显示和处理。在这个主题中,我们将深入探讨如何使用Java进行图像处理的一些基础操作,尤其是图像...

    Java应用程序中创建图像

    - 在Java Applet中,可以创建一个`JApplet`子类,并在`init()`, `start()`, `stop()`方法中处理初始化、启动和停止动画的逻辑。 - 可以创建一个自定义的`ImagePanel`类,负责显示和更新动画图像。 通过这些技术,...

    Java绘制弧线、扇形.pdf

    import java.applet.*; public class Arc extends Applet { public void paint(Graphics g) { g.drawArc(50, 50, 50, 50, 30, 150); // 绘制弧线 g.fillArc(100, 50, 100, 50, 0, -90); // 绘制扇形 } } ``` ...

    JAVA教程_第五讲_AWT图形用户界面设计.doc

    AWT适用于Java应用程序和applet,提供了一系列组件、事件处理机制以及图形和图像工具,确保了跨平台的兼容性。 5.1 AWT核心概念 1. **组件(Component)**:组件是GUI的基本构建块,它可以是按钮、标签、文本框等...

Global site tag (gtag.js) - Google Analytics