public class Ctianchong extends tool {
@Override
/
实现图像填充功能,从to中鼠标对应的一个位置将周围填充为颜色c
参数e表示鼠标事件,to表示对象,c表示颜色对象
/
public void mousepress(MouseEvent e, BufferedImage to,Color c) {
// TODO Auto-generated method stub
int[] dx={0,1,0,-1}; //水平偏移
int[] dy={1,0,-1,0}; //竖直偏移
int lim_x=togetWidth(),lim_y=togetHeight(); //获得的宽度和高度。
LinkedList<node> q=new LinkedList<node>(); //节点类型为node的链表
node a=new node(); //node应该有一个参数x表示水平坐标,y表示竖直坐标
node b;
ax=egetX();
ay=egetY(); //获得鼠标的水平与竖直坐标
int initrgb=togetRGB(ax, ay); //initrgb表示图像在水平坐标为x,竖直坐标为y处的灰度值。
int drawrgb=cgetRGB(); //颜色c对应的RGB值
if(initrgb==drawrgb) return; //如果此处颜色一致,直接返回
tosetRGB(ax, ay, drawrgb); //直接填充颜色
qaddLast(a); //将a加入到链表q中去
while(!qisEmpty()) //链表是否为空
{
a=qpollFirst(); //d出链表首位的node
for(int i=0;i<4;i++) //表示填充坐标(x,y)上、下、左、右的颜色,填充时对应的偏移量分别为dx[i],dy[i]
{
b=new node();
bx=ax+dx[i];
by=ay+dy[i];
if(bx<0 || by<0 || bx>=lim_x || by>=lim_y) continue;
if(togetRGB(bx, by)!=initrgb) continue;
tosetRGB(bx, by, drawrgb);
qaddLast(b); //将b加入链表中,
}
}
}
可以,用Graphics类的void setFont(Font font)方法来,设定字体的名称,大小,是否加粗斜体等
例如 Font f=new Font(null,FontPLAIN,20);用这个语句定义一个缺省字体名称大小20磅的普通字体对象f,然后用gsetFont(f);为图形对象Graphics g设定字体大小,画板drawString的字体大小就会改变了
你看看在指定的目录那里有没有你要访问的那个文件,有的话就是你的路径写错了追问我把画板里的东西保存在桌面上,在打开就不行了,怎么会文件路径错呢?是不是实现打开文件的代码有问题?回答就是说你开始打开是可以的,然后把东西换一下位置了就不可以,是吗
看了下,canvas有个api:
var filedata = canvastoDataURL("image/jpeg");
这个filedata你要自己研究下consolelog一下
$post("服务器", {file : filedata}, )
以上就是关于请java高手注释一下这段程序全部的内容,包括:请java高手注释一下这段程序、用java画板drawString的字,可以改变大小吗、java画板文件保存理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)