「java着色问题」java图片反色
今天给各位分享java着色问题的知识,其中也会对java图片反色进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java地图着色问题
- 2、用java能分辨出一张图片的不同部位颜色吗
- 3、java入门 notepad怎么编写子文件啊怎么打出编码前面的那个带减号的东东??
- 4、试编写一个程序,用贪心法求解一般的着色问题.
java地图着色问题
建议百度搜索地图着色问题,这是一个数学问题,印象中应该是个图的问题,所以你要先会用数学方式解决,其次才是用程序代码描述出来。
用java能分辨出一张图片的不同部位颜色吗
准确的说是可以。
JAVA可以读入一个图片到内存保存为字节数组,再从数组中找到对应的位置下标,以数组内容判断RGB颜色。不过一般人是不会这么做的。
要看你是在什么项目以什么目的需求来取颜色。大部分方案都是以特殊技巧来实现你所提出的问题。
打个比方,如果图片是我自己上传的,只是显示给别人看的,那么我会把图片不同部位自定义编码,不同编码对应不同颜色。然后在显示时对图片设置热区就行了
java入门 notepad怎么编写子文件啊怎么打出编码前面的那个带减号的东东??
以下列出了UltraEdit的详尽用法,呵呵
程序语法着色:
*********************************************
为了让你看到着色的效果,你先用UltraEdit建立一个新文件,并另存为.java文件,然后输入一段简单的代码,如:
import java.util.*;
import java.lang.*;
/**java test class*/
public class RenderEdit {
String field = "UltraEdit Test";
public RenderEdit(){}
public void static main(String[] args)
{
//just test
System.out.println(this.field);
}
}
(你把这段代码拷过去用用吧。)
打开菜单Advanced --- configuaration -- Syntax Highlighting
在Language下拉框里,你能看到现在默认的着色方案。
UltraEdit的用途
用做普通文本文件编辑器(.txt .bat .conf .ini等)
用做.doc文件编辑器(不过,不是msword的文档,其实也是文本文件,我不知道为什么叫doc)
用做c, c++, java, jsp, html, xml等的源代码编辑器
(以上文件可以是本地的,也可以是通过FTP方式操作远程的文件)
对文本文件进行按行排序,排序的方式是可以定义的。
对16进制的文件直接修改字节指定直接的内容
对文件全体内容或选定内容进行整体的操作,比如转换格式、内容等
对文件的字符、词数量进行统计
对一个文本文件或源代码文件组成的项目进行操作
介绍
----------------------------------------------
通过上面的列表,你基本上能知道UltraEdit是干什么用的:小巧且功能全面、灵活好用的文本编辑器,尤其适合于源代码的编写。
对于文本文件的编辑,当然是没什么好说的了。我这篇文章就是用UltraEdit写的纯文本的文件。自己去用两下就知道了。不过,就算作为文本编辑器来讲,它也比Windows 的 NotePad强的多,不过比器Unix的vi来,当然就差劲了点。如果说和vi相比,恐怕最大的优势就是图形操作环境,不需要记无数的繁杂命令了。
语法着色问题:
**********************
作为源代码编辑器,那就不一样了,和vi简直有一拼。最值得称道的是,它可以对各种源代码进行语法着色,使你清晰分辨代码中的各种成分。记得在 ChinaJavaWorld中,曾经有一个哥们说:JAVA初学者最好不要使用强大的IDE,只要使用能进行语法着色的文本编辑器就可以了。如果真是这样,恐怕UltraEdit真是最好不过的东东了(我不知道这个哥们说得对不对哦)。UltraEdit32在默认的状态下,可以对JAVA, PERL,HTML,XML, C#,C/C++,visual basic 等进行很好的语法着色,这对于喜欢直接写代码的弟兄们来说,真是已经很不错了(有的人不喜欢用FRONTPAGE 或者 DREAMWAVER这样的“所见即所得”的东东来开发)。更好玩的是,如果你不喜欢它的着色方式,你可以去修改它,而且还可以增加它不认识的语言,比如你发明了一种新的语言,你可以告诉UltraEdit怎样对它进行着色。(请参照菜单Advanced--configuration--Syntax Highlighting)
如果你用UltraEdit来写java程序,它可以对JAVA的关键词进行识别,可以着色JAVA核心类中的部分类名,可以区分变量和字符串等。这就很不错了,你不要企图让它为你进行代码补全,小小一个编辑器你还能真把它当JBUILDER那样的IDE来用吗?
如果你用它来开发HTML、JSP、ASP等,那也很爽啊。它不仅可以区分其中的scriptlet(小脚本)和HTML代码,对他们进行很好的着色,而且提供了几乎全部的HTML TAG和特殊字符,当你忘记的时候,很轻松就能查到。它对HTML的着色,可以做到对TAG、PROPERTY 和 VALUE 进行不同的着色。是不是很棒啊?
配置工具:
************************
说实在话,UltraEdit真的不是IDE,但是你可以把它做得漂漂亮亮,把一个IDE的常用功能给集成起来,比如编译、运行。
比如,你可以配置上javac java 两个命令,不需要到DOS状态下,就可以在这里编译和运行你正在编辑的JAVA类,而且能把编译的错误消息和运行的结果捕获到一个新的文件或者 output窗口中。对于c/c++当然也可以这么做了。这不错吧?作为一个JAVA的初学者你还能奢望什么呢?即使作为一个有经验的程序员,你还需要庞大的IDE吗?(如果你要做图形应用程序,建议你还是用IDE吧,UltraEdit可没办法)
齐备的编辑功能:
*************************
说到各种编辑功能,就算JBUILDER, WEBSHPERE这样优秀的IDE也比不上UltraEdit, 要想知道UltraEdit在这方面的能力,你去看看vi的说明书吧,vi的确是很强大,UltraEdit也包含了其中很多的功能。比如基本的功能有:查找、替换、在文件中搜索并替换等,还有vi中e!的功能(当你发现你编辑错了的时候,你可以把你上次保存的内容重新读进来),可以进行16进制编辑,定义书签,直接滚动到某一行,设置或关闭只读,括号匹配,查看文件信息,消除空格,自动缩行,大小写转换,文件格式转换(UNIX 转成DOS等)。据说它的查找功能,还能象vi一样使用正则表达式哦,厉害!
它还有很多方便的小工具,比如你在写HTML的时候,可能想使用某种颜色,但不知道它的RGB是多少,可以用Edit --- insert color; 你想插入当前时间,查找ASCII 码,进行拼写检查,行排序,把内容EMAIL给别人,文件比较,行选模式,区域选择等,哎呀,累死我了,功能太多,不说这个了。下面说说各种功能的使用。
特色功能介绍
--------------------------------------------------------------------------------
UltraEdit详细的介绍一时半会说不完,其实也没有完全介绍的必要,因为无论对于新程序员老程序员,对计算机的操作应该是比较熟悉的。怎么删除?怎么保存?怎么打开?怎么剪贴、拷贝、粘贴?以及怎么查找?这太常识了,我简直象是在说废话。下面说几个UltraEdit特有的,或者比较好用的功能,供大家借鉴,有问题请直接找我,大家研究一下。
程序语法着色:
*********************************************
为了让你看到着色的效果,你先用UltraEdit建立一个新文件,并另存为.java文件,然后输入一段简单的代码,如:
import java.util.*;
import java.lang.*;
/**java test class*/
public class RenderEdit {
String field = "UltraEdit Test";
public RenderEdit(){}
public void static main(String[] args)
{
//just test
System.out.println(this.field);
}
}
(你把这段代码拷过去用用吧。)
打开菜单Advanced --- configuaration -- Syntax Highlighting
在Language下拉框里,你能看到现在默认的着色方案。你在刚才的例子文件里,就已经看到了效果。如果你还算满意也就算了,否则呢,请在这个对话框里修改对每个条目的着色方式。
另外,你在这里能看到"auto correct keywords"这个功能。就是说,如果你的关键词敲错了,它可以自动帮你纠正一部分,比如fi 改成 if, system 自动写成 System, 你觉得这个功能怎么样?不错吧。的确。但是也有遇到麻烦的时候,比如你有这样的句子: Class ca = new field.getClass(); 它就把Class给写成class, 这当然是你不希望的。再如:java.sql.Connection connection = null; 它也会把小写的connection给替换成Connection(类名),这也不符合要求。这对于喜欢使用词的全称做对象实例名的弟兄们不是好事,尤其初学者,程序编译错误了,你都查不出来为什么,建议你把这个功能关掉。
同样的,如果你实在不喜欢用语法着色的功能,也可以在这里把他们全部关掉,这样对于什么源代码都不着色了(你神经病吗?)
在这里你还可以看到一个叫wordfile.txt的文件,你可以去修改这个文件,这样,UltraEdit能认识的词就更多了。
关于着色就说这些,这只是个例子。你可以在Advanced -- configuration 里找到各种设置功能,简单列这这里:
general 页 :
是否显示行号
一个文件是否可以同时打开多个实例
edit 页:
设置自动缩进 ,并且允许用空格或是TAB来缩进,缩进多少也由你指定
对所操作的文件的默认扩展名的设置
backup 页:
对更新时的自动备份的设置
File Type 和 File Asosiation 页:
这两页让你定义一些可以默认打开的文件,他们将出现在“打开”对话框的过滤器下拉框里,这样就方便对了。比如你可以把jsp,
asp等你平时工作的文件都加进来。
其他的不说了,你自己看比我说要明白得多。
配置编译器和运行指令:
*****************************************************************
我平时java程序都是在这里编译的,所以就配置了三个工具,你可以配置上别的,象C的编译器。
我配置的三个是:javac , java(对于不需要输入参数就直接运行的那种) , java对于需要参数才能运行的那种)
方法: 在Advanced -- Tool configuration 菜单的对话框里
1,配置javac
在command line里输入:c:\jdk1.3\bin\javac %f
注意:这里的javac路径你要按你自己的来指定;%f是指当前活动文档的全文件名,即“文件名.扩展名",因为java程序在编译时必须带上扩展名。如果你用了%F(大写)是不对的,它只表示文件名而不带扩展名(对于java运行命令是这样的)。
在Menu Item Name 里输入javac ,它出现在菜单里,这样你就知道它是用来编译的。
然后选择output to list box 和 capture output ,这样当编译错误的时候你就可以在源代码的下面的output窗口里看到错误信息了。
2,配置不带参数的java运行命令
在command line里输入:java %n, 或者java %F, 这两个有时候不一样,看你的环境怎么配置了,我是使用的前一个。
在Menu Item Name 里输入: java -no parameter
并且选择output to list box 和 capture output ,这样当运行的时候,运行结果显示在output窗口里。
3,配置带参数的java运行命令
在command line里输入:java %n%modified%
在Menu Item Name 里输入: java -parameter,这样当你运行的时候,它会有一个对话框要求你输入参数
好了,这就可以用了。如果你想知道更多的配置方法,去看看帮助文件里:Advanced -- Tool Configuration吧。看不懂就来问我。注意,不是来吻我。
FTP方式工作:
*********************************************************
多数时候你都是自己的机器上写代码,源文件也存在自己的机器上。而有时候,比如你在某个公司的网络上工作,或者你黑了别人的网络,能用FTP访问别人的电脑了,或许可以考虑直接FTP到服务器上,修改那里的文件,然后再直接保存回去。
看看File菜单,那里有个FTP子菜单,然后输入用户名和密码就可以打开那里的文件了。这对于编写JSP和ASP、HTML等比较常用。尤其是 JSP,你自己的机器上没有JSP的容器,你编辑的文件要在那个服务器上才能使用,那么就用FTP方式来工作吧。编辑完成后再用FTP方式存回去。OK 了。
其他:
**********************************************************
其他的功能还有很多,而且都非常容易从菜单里找到,我在这里就不一个一个说了。我在前面的“介绍”部分里都提到过,相信你没问题的。
试编写一个程序,用贪心法求解一般的着色问题.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.geom.*;
import java.io.*;
class Point implements Serializable
{
int x,y;
Color col;
int tool;
int boarder;
Point(int x, int y, Color col, int tool, int boarder)
{
this.x = x;
this.y = y;
this.col = col;
this.tool = tool;
this.boarder = boarder;
}
}
class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener
{
int x = -1, y = -1;
int con = 1;//»±Ê´óС
int Econ = 5;//ÏðÆ¤´óС
int toolFlag = 0;//toolFlag:¹¤¾ß±ê¼Ç
//toolFlag¹¤¾ß¶ÔÓ¦±í£º
//£¨0--»±Ê£©£»£¨1--ÏðÆ¤£©£»£¨2--Çå³ý£©£»
//£¨3--Ö±Ïߣ©£»£¨4--Ô²£©£»£¨5--¾ØÐΣ©£»
Color c = new Color(0,0,0); //»±ÊÑÕÉ«
BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//»±Ê´Öϸ
Point cutflag = new Point(-1, -1, c, 6, con);//½Ø¶Ï±êÖ¾
Vector paintInfo = null;//µãÐÅÏ¢ÏòÁ¿×é
int n = 1;
FileInputStream picIn = null;
FileOutputStream picOut = null;
ObjectInputStream VIn = null;
ObjectOutputStream VOut = null;
// *¹¤¾ßÃæ°å--»±Ê£¬Ö±Ïߣ¬Ô²£¬¾ØÐΣ¬¶à±ßÐÎ,ÏðÆ¤£¬Çå³ý*/
Panel toolPanel;
Button eraser, drLine,drCircle,drRect;
Button clear ,pen;
Choice ColChoice,SizeChoice,EraserChoice;
Button colchooser;
Label ÑÕÉ«,´óСB,´óСE;
//±£´æ¹¦ÄÜ
Button openPic,savePic;
FileDialog openPicture,savePicture;
paintboard(String s)
{
super(s);
addMouseMotionListener(this);
addMouseListener(this);
paintInfo = new Vector();
/*¸÷¹¤¾ß°´Å¥¼°Ñ¡ÔñÏî*/
//ÑÕɫѡÔñ
ColChoice = new Choice();
ColChoice.add("black");
ColChoice.add("red");
ColChoice.add("blue");
ColChoice.add("green");
ColChoice.addItemListener(this);
//»±Ê´óСѡÔñ
SizeChoice = new Choice();
SizeChoice.add("1");
SizeChoice.add("3");
SizeChoice.add("5");
SizeChoice.add("7");
SizeChoice.add("9");
SizeChoice.addItemListener(this);
//ÏðÆ¤´óСѡÔñ
EraserChoice = new Choice();
EraserChoice.add("5");
EraserChoice.add("9");
EraserChoice.add("13");
EraserChoice.add("17");
EraserChoice.addItemListener(this);
////////////////////////////////////////////////////
toolPanel = new Panel();
clear = new Button("Çå³ý");
eraser = new Button("ÏðƤ");
pen = new Button("»±Ê");
drLine = new Button("»Ö±Ïß");
drCircle = new Button("»Ô²ÐÎ");
drRect = new Button("»¾ØÐÎ");
openPic = new Button("´ò¿ªÍ¼»");
savePic = new Button("±£´æÍ¼»");
colchooser = new Button("ÏÔʾµ÷É«°å");
//¸÷×é¼þʼþ¼àÌý
clear.addActionListener(this);
eraser.addActionListener(this);
pen.addActionListener(this);
drLine.addActionListener(this);
drCircle.addActionListener(this);
drRect.addActionListener(this);
openPic.addActionListener(this);
savePic.addActionListener(this);
colchooser.addActionListener(this);
ÑÕÉ« = new Label("»±ÊÑÕÉ«",Label.CENTER);
´óСB = new Label("»±Ê´óС",Label.CENTER);
´óСE = new Label("ÏðÆ¤´óС",Label.CENTER);
//Ãæ°åÌí¼Ó×é¼þ
toolPanel.add(openPic);
toolPanel.add(savePic);
toolPanel.add(pen);
toolPanel.add(drLine);
toolPanel.add(drCircle);
toolPanel.add(drRect);
toolPanel.add(ÑÕÉ«); toolPanel.add(ColChoice);
toolPanel.add(´óСB); toolPanel.add(SizeChoice);
toolPanel.add(colchooser);
toolPanel.add(eraser);
toolPanel.add(´óСE); toolPanel.add(EraserChoice);
toolPanel.add(clear);
//¹¤¾ßÃæ°åµ½APPLETÃæ°å
add(toolPanel,BorderLayout.NORTH);
setBounds(60,60,900,600); setVisible(true);
validate();
//dialog for save and load
openPicture = new FileDialog(this,"´ò¿ªÍ¼»",FileDialog.LOAD);
openPicture.setVisible(false);
savePicture = new FileDialog(this,"±£´æÍ¼»",FileDialog.SAVE);
savePicture.setVisible(false);
openPicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ openPicture.setVisible(false); }
});
savePicture.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ savePicture.setVisible(false); }
});
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);}
});
}
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
Point p1,p2;
n = paintInfo.size();
if(toolFlag==2)
g.clearRect(0,0,getSize().width,getSize().height);//Çå³ý
for(int i=0; in ;i++){
p1 = (Point)paintInfo.elementAt(i);
p2 = (Point)paintInfo.elementAt(i+1);
size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
g2d.setColor(p1.col);
g2d.setStroke(size);
if(p1.tool==p2.tool)
{
switch(p1.tool)
{
case 0://»±Ê
Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line1);
break;
case 1://ÏðƤ
g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder);
break;
case 3://»Ö±Ïß
Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y);
g2d.draw(line2);
break;
case 4://»Ô²
Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(ellipse);
break;
case 5://»¾ØÐÎ
Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) , Math.abs(p2.y-p1.y));
g2d.draw(rect);
break;
case 6://½Ø¶Ï£¬Ìø¹ý
i=i+1;
break;
default :
}//end switch
}//end if
}//end for
}
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==ColChoice)//ԤѡÑÕÉ«
{
String name = ColChoice.getSelectedItem();
if(name=="black")
{c = new Color(0,0,0); }
else if(name=="red")
{c = new Color(255,0,0);}
else if(name=="green")
{c = new Color(0,255,0);}
else if(name=="blue")
{c = new Color(0,0,255);}
}
else if(e.getSource()==SizeChoice)//»±Ê´óС
{
String selected = SizeChoice.getSelectedItem();
if(selected=="1")
{
con = 1;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
}
else if(selected=="3")
{
con = 3;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
}
else if(selected=="5")
{con = 5;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
}
else if(selected=="7")
{con = 7;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
}
else if(selected=="9")
{con = 9;
size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
}
}
else if(e.getSource()==EraserChoice)//ÏðÆ¤´óС
{
String Esize = EraserChoice.getSelectedItem();
if(Esize=="5")
{ Econ = 5*2; }
else if(Esize=="9")
{ Econ = 9*2; }
else if(Esize=="13")
{ Econ = 13*2; }
else if(Esize=="17")
{ Econ = 17*3; }
}
}
public void mouseDragged(MouseEvent e)
{
Point p1 ;
switch(toolFlag){
case 0://»±Ê
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p1);
repaint();
break;
case 1://ÏðƤ
x = (int)e.getX();
y = (int)e.getY();
p1 = new Point(x, y, null, toolFlag, Econ);
paintInfo.addElement(p1);
repaint();
break;
default :
}
}
public void mouseMoved(MouseEvent e) {}
public void update(Graphics g)
{
paint(g);
}
public void mousePressed(MouseEvent e)
{
Point p2;
switch(toolFlag){
case 3://Ö±Ïß
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;
case 4: //Ô²
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;
case 5: //¾ØÐÎ
x = (int)e.getX();
y = (int)e.getY();
p2 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p2);
break;
default :
}
}
public void mouseReleased(MouseEvent e)
{
Point p3;
switch(toolFlag){
case 0://»±Ê
paintInfo.addElement(cutflag);
break;
case 1: //eraser
paintInfo.addElement(cutflag);
break;
case 3://Ö±Ïß
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;
case 4: //Ô²
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;
case 5: //¾ØÐÎ
x = (int)e.getX();
y = (int)e.getY();
p3 = new Point(x, y, c, toolFlag, con);
paintInfo.addElement(p3);
paintInfo.addElement(cutflag);
repaint();
break;
default:
}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==pen)//»±Ê
{toolFlag = 0;}
if(e.getSource()==eraser)//ÏðƤ
{toolFlag = 1;}
if(e.getSource()==clear)//Çå³ý
{
toolFlag = 2;
paintInfo.removeAllElements();
repaint();
}
if(e.getSource()==drLine)//»Ïß
{toolFlag = 3;}
if(e.getSource()==drCircle)//»Ô²
{toolFlag = 4;}
if(e.getSource()==drRect)//»¾ØÐÎ
{toolFlag = 5;}
if(e.getSource()==colchooser)//µ÷É«°å
{
Color newColor = JColorChooser.showDialog(this,"µ÷É«°å",c);
c = newColor;
}
if(e.getSource()==openPic)//´ò¿ªÍ¼»
{
openPicture.setVisible(true);
if(openPicture.getFile()!=null)
{
int tempflag;
tempflag = toolFlag;
toolFlag = 2 ;
repaint();
try{
paintInfo.removeAllElements();
File filein = new File(openPicture.getDirectory(),openPicture.getFile());
picIn = new FileInputStream(filein);
VIn = new ObjectInputStream(picIn);
paintInfo = (Vector)VIn.readObject();
VIn.close();
repaint();
toolFlag = tempflag;
}
catch(ClassNotFoundException IOe2)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read object");
}
catch(IOException IOe)
{
repaint();
toolFlag = tempflag;
System.out.println("can not read file");
}
}
}
if(e.getSource()==savePic)//±£´æÍ¼»
{
savePicture.setVisible(true);
try{
File fileout = new File(savePicture.getDirectory(),savePicture.getFile());
picOut = new FileOutputStream(fileout);
VOut = new ObjectOutputStream(picOut);
VOut.writeObject(paintInfo);
VOut.close();
}
catch(IOException IOe)
{
System.out.println("can not write object");
}
}
}
}//end paintboard
public class pb
{
public static void main(String args[])
{ new paintboard("»Í¼³ÌÐò"); }
}
java着色问题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java图片反色、java着色问题的信息别忘了在本站进行查找喔。
发布于:2022-12-03,除非注明,否则均为
原创文章,转载请注明出处。