关于安卓中的paint画笔问题 30C

不好意思我又来了~上次的问题我怕我没表达清楚,所以再问一次。就是我想在一个view界面中使用画笔来画几个黑色的实心矩形,然后让这些矩形不断的进行黑白交替的功能。但是前提是,这些矩形的黑白交替是有一定的频率的。比如说,我想设置这个频率为1hz,那么我的黑色就要停留0.5s,白色也是停留0.5s。但是,我想让这些小方块的频率不同,比如说第一个小方块我想设置1hz,第二个小方块我想设置5hz。这应该怎么做呢?我现在不会的就是不会设置这些不同的频率,只会让他们都停留同样的时间。求求各路大神帮帮忙图片说明图片说明图片说明图片说明图片说明

3个回答

Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,

样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,

大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。 **

qq_33316520
哇呀呀呀呀 然后嘞(⊃‿⊂)
接近 2 年之前 回复

建议楼主直接用gif资源吧,实现逻辑比较简单

实现逻辑比较简单 用动画

qq_33316520
哇呀呀呀呀 具体呢?怎么弄比较合适。因为我的这些小方块比较多,然后如果用插入黑白图片的方法会比较卡,所以才想到用画笔。您觉得怎么弄比较合适呢?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
安卓小白问一个关于viee中的paint画笔问题
我想在白色背景下画几个小方块。默认黑色的,然后然他们以不同的显示时间来进行黑白交替。比如说,第一个小方块我想让他黑色停留1s白色停留1s,第二个小方块我想让他黑色停留2s,白色停留2 s,这样不断的循环的黑白交替下去。这应该怎么实现呢?因为我最后要做出的小方块特别的多,所以最好程序要简洁一些。因为不想让它运行太卡。各路大神帮个忙呗,最近真的被这个逻辑搞疯了。
android中画虚线--.PathEffect类简单认识
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); p.setStyle(Style.STROKE); p.setColor(Color.WHITE); p.setStrokeWidth(1); PathEffect effects = new DashPathEffect(new float[] { 1, 2, 4, 8}, 1); p.setPat...
paint画笔
概念: 画笔,保存了绘制几何图形,文本和位图的样式和颜色信息。 常用API: 常用API主要如颜色效果和文本相关等。 当我们调用常用API的时候直接调用native方法。 初始化 mPaint = new Paint(); //初始化 mPaint.setAntiAlias(true); // 抗锯齿 描边效果 mPaint.setStyle(Paint.Style.FILL); //...
画笔Paint
一、Paint的基本实用方法和技巧 1 .负责图形绘制相关 //重置 mPaint.reset(); mPaint.setColor(Color.RED); mPaint.setAlpha(255); //设置画笔的样式 // mPaint.setStyle(Paint.Style.FILL);//填充内容 // mPaint.setStyle(Paint
paint 画笔
绘图的思路: 1,要绘制图形,首先得调整画笔,按照自己的开发需要设置画笔的相关属性 2,画笔属性设置好之后,还需要将图像绘制到画布上。Canvas类可以用来实现各种图形的绘制工作,如绘制直线、矩形、圆等等。 3,首先,我们需要自定义一个类,比如MyView,继承于View类。然后,复写View类的onDraw()函数。最后,在onDraw()函数中使用Paint和Canvas对象绘制我们需要
安卓开发之Paint画笔
Paint paint = new Paint();  //创建画笔 // 设置paint为无锯齿   paint.setAntiAlias(true);   // 设置画笔颜色为红色(1)   paint.setColor(Color.RED);   // 设置画笔颜色为红色(2)   paint.setColor(Color.rgb(255, 0, 0));   // 设置透
Android自定义控件之画笔(Paint)
初始化画笔: Paint paint = new Paint(); 设置画笔颜色 paint.setColor(Color.RED); 设置填充样式 paint.setStyle(Paint.Style.STROKE); //设置画笔宽度 paint.setStrokeWidth(50); Android在用画笔的时候有三种Style,分别是 Paint.Style.STROKE 只绘制图形轮廓(...
自定义View——Paint画笔
前言 在前面一篇 自定义控件——Canvas 画布,我们也看到如何使用Paint。Paint也是强大的工具类,这篇就来详细介绍。 Paint的API也非常多,具体可以参考官方网址: Paint API:https://developer.android.google.cn/reference/android/graphics/Paint.html 这里根据这些API分为4种模式:(参考 H...
Paint画笔高级应用
1.Paint常用方法 // mPaint.setColor(Color.RED);// 设置颜色 // mPaint.setARGB(255, 255, 255, 0); // 设置 Paint对象颜色,范围为0~255 // mPaint.setAlpha(200); // 设置alpha不透明度,范围为0~255 // mPaint....
高级UI-画笔Paint
在UI这一块,谈到自定义,就离不开画笔和画布的使用话题,在自定义控件的时候,为了做出炫酷的效果,我们往往会使用画笔和画布,那么这里我们就先来看看画笔的使用吧 简单使用例子 自定义一个View public class PaintView extends View { private Paint mPaint; public PaintView(Context context, @...
画笔Paint类
小知识: 凡是跟画笔设置相关的,比如画笔大小、粗细、颜色、透明度、字体的样式等,都在paint类里设置 Paint.setStyle取值: 构造函数: voidsetStyle(Style style) 参数: Paint.Style.FILL//仅填充内部 Paint.Style.FILL_AND_STROKE//填充内部和描边 Paint.Style.STR...
Paint(画笔)类的使用
Paint类继承关系: Paint类说明:     配合Canvas类使用的一个类,用来给Canva将要绘制的图形添加一些属性,例如:抗锯齿(AntiAlias)、透明度(Alpha)等。故Paint类大多数常用的方法都是 set 系列的方法。 Paint类常用方法:     set系列方法:  AntiAlias(抗锯齿)      TextSize(字体大小
paint Canvas画笔、画布
1.创建画笔 Paint paint = new Paint(); 设置画笔的颜色 paint.setColor(Color.RED); 2.创建一个矢量图Bitmap 矢量图[vector],也叫做向量图,简单的说,就是缩放不失真的图像格式。 //创建一个矢量图Bitmap Bitmap bitmap = Bitmap.createBitmap(300,300,Bi
Paint类(画笔)
线性渐变、径向渐变和角度渐变的画笔 1、布局文件 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/frameLayout1" android:layout_width="fill_parent" android:layout_height=
Paint 画笔的一些属性
Paint(画笔): 就是画笔,用于设置绘制风格,如:线宽(笔触粗细),颜色,透明度和填充风格等 直接使用无参构造方法就可以创建Paint实例: Paint paint = new Paint( ); 我们可以通过下述方法来设置Paint(画笔)的相关属性,另外,关于这个属性有两种, 图形绘制相关与文本绘制相关: setARGB(int a,int r,int g,int b): 设置绘制的颜色,
Android Paint 画笔源代码
Android Paint画笔源代码,适用于计算机专业课程设计,并有布局文件。
Android中Paint画笔类的使用详解
Paint类的使用介绍 Android自定义View中想在画笔canvas上边画图要学会使用画笔类Paint。我们需要将画笔的相关属性设置好,才能画出想要的图片,例如设置画笔的颜色、画笔字体的相关属性等等。下边介绍一下画笔中最常用的一些方法。
自定义View之Paint(画笔)的使用
我们在自定义View的时候总是会用到Paint画笔对象和Canvas对象,我是这么理解的,你要画一个自定义View就必须要有水彩笔和你的A4纸(当然我只是这么一说,也可以使任何纸),水彩笔就相当于Paint画笔对象,可以设置它的颜色,粗细,想要画的字的大小,形状以及一些样式,接下来,我们来看一下这个画笔对象是什么以及怎么使用. Paint是什么? 首先来看一下官方解释: The Paint ...
Paint画笔的基本使用及自定义进度条
Paint画笔的基本使用及自定义进度条 资源播客:http://blog.csdn.net/wangwo1991/article/details/77689003
Paint(一):画笔基本使用
1. 设置获取图形绘制、路径相关的 1.1 设置画笔颜色 1.2 设置透明度 1.3 设置颜色 1.4 设置画笔是否抗锯齿 1.5 设置图像是否使用抖动处理,会使得绘制出来的图片更加平滑和饱满,图像更加清晰 1.6 设置画笔倾斜度 1.7 设置画笔宽度 1.8 设置一个外来Paint画笔。 1.9 设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果 1.10 设置 M...
Android 画笔 paint 学习记录
最近在学习自定义view,不学不知道,一学吓一跳,原来我是个文盲,内心有点小忧伤,我还得慢慢爬啊,废话不多说,还是默默的打我的代码吧。 1.setStyle(Paint.Style style)  设置画笔样式,取值三个,分别如下“” Paint.Style.FILL :填充内部。 Paint.Style.FILL_AND_STROKE :填充内部和描边。 Paint.Style.STROKE...
(五)Paint 画笔基本的使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下。 一、概述 绘图时需要用到 Paint 和 Canvas 这两个类。Paint 就是绘画时候的画笔,而 Canvas 就是画布。但是, Canvas 这个画布是无限大的,而不是只有屏幕显示那么大。 我们可以在这个画布上画任何东西,选取不同的画笔,就...
Paint画笔的基本使用——渲染
上一篇播客说了下paint画笔的基本使用,这里继续说下paint画笔的基本使用——渲染,paint画笔的渲染涉及到下面几种渲染方式: BitmapShader 位图的图像渲染器 LinearGradient 线性渲染 RadialGradient 环形渲染 SweepGradient 梯度渲染(扫描渲染) ComposeShader 组合渲染 BitmapShader 位图的图
关于JPanel中的paint问题
今天闲的无聊,想写个五子棋的游戏,设想是用一个JPanel放置棋盘和棋子,把这个JPanel放置在一个JFrame中,但是发现每次在移动棋子的时候,棋盘也会跟着移动~~看了半天源代码,还是没看出问题~,各位帮帮忙把。- -!rn源代码:rnrnMyPanel.javarn[code=Java]import java.awt.*;rnimport java.awt.event.*;rnimport javax.swing.*;rnimport java.awt.Image;rnrnpublic class MyPanel extends JPanelrnrn private final static int PANEL_SIZE=420;rn private final static int ELEMENT_SIZE=28;rn private final static int ROW_NUM=15;rn private final static int COL_NUM=15;rn rn private Image background;rn private Image black;rn private Image white;rn private Image site;rn rn private int alignment_x=0;rn private int alignment_y=0;rn rn private int state[][]=rn rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn rn 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0rn ,rn ;rn rn public MyPanel()rn rn this.setPreferredSize(new Dimension(420,420)); rn rn rn public void paint(Graphics g)rn rn loadImage(g);rn judgeState(g);rn g.drawImage(site,this.getX()*MyPanel.ELEMENT_SIZE,this.getY()*MyPanel.ELEMENT_SIZE,22,22,this);rn rn rn public void loadImage(Graphics g)rn rn ImageIcon icon=new ImageIcon("resource\\background.jpg");rn background=icon.getImage();rn rn icon=new ImageIcon("resource\\black.png");rn black=icon.getImage();rn rn icon=new ImageIcon("resource\\white.png");rn white=icon.getImage();rn rn icon=new ImageIcon("resource\\site.jpg");rn site=icon.getImage();rn rn g.drawImage(background,0,0,420,420,this);rn rn rn public void judgeState(Graphics g)rn rn int i=0;rn int j=0;rn while(i<=14)rn rn while(j<=14)rn rn if(state[i][j]==1)rn rn g.drawImage(black,i*MyPanel.ELEMENT_SIZE,j*MyPanel.ELEMENT_SIZE,22,22,this); rn rn if(state[i][j]==2)rn rn g.drawImage(white,i*MyPanel.ELEMENT_SIZE,j*MyPanel.ELEMENT_SIZE,22,22,this);rn rn j++;rn rn i++;rn j=0;rn rn rn rn public int getX()rn rn return alignment_x;rn rn public int getY()rn rn return alignment_y;rn rn rn public void setAlignment(int x,int y)rn rn alignment_x=x;rn alignment_y=y;rn rn rn public int getState(int x,int y)rn rn return state[x][y];rn rn rn public void setState(int x,int y,int value)rn rn state[x][y]=value;rn rn[/code]rnrnrnChess.javarn[code=Java]import java.awt.*;rnimport java.awt.event.*;rnimport javax.swing.*;rnrnpublic class Chess extends JFrame implements KeyListenerrnrn private MyPanel p=new MyPanel();rn rn public Chess()rn rn this.setLayout(new BorderLayout());rn this.add(p,BorderLayout.CENTER);rn this.setTitle("五子棋");rn this.addKeyListener(this);rn this.pack();rn this.setVisible(true);rn this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); rn rn rn public static void main(String args[])rn rn new Chess();rn rn rn public void keyTyped(KeyEvent e)rn rn rn public void keyPressed(KeyEvent e)rn rn switch(e.getKeyCode())rn rn case 38:rn if(p.getY()>0)rn rn p.setAlignment(p.getX(),(p.getY()-1));rn p.repaint();rn rn break;rn rn case 40:rn if(p.getY()<14)rn rn p.setAlignment(p.getX(),(p.getY()+1));rn p.repaint();rn rn break;rn rn case 39:rn if(p.getX()<14)rn rn p.setAlignment((p.getX()+1),p.getY());rn p.repaint();rn rn break;rn rn case 37:rn if(p.getX()>0)rn rn p.setAlignment((p.getX()-1),p.getY());rn p.repaint();rn rn break;rn rn case 10:rn if((p.getState(p.getX(),p.getY())==1)||(p.getState(p.getX(),p.getY())==2))rn rn ;rn rn elsern rn p.setState(p.getX(),p.getY(),1);rn p.repaint();rn if(win())rn rn JOptionPane.showMessageDialog(this,"胜利","赢了",JOptionPane.INFORMATION_MESSAGE,null);rn initState();rn rn elsern rn pcGo();rn rn rn break;rn rn rn public void keyReleased(KeyEvent e)rn rn rn rn public void pcGo()rn rn int i,j;rn i=(int)(Math.random()*14);rn j=(int)(Math.random()*14);rn while(p.getState(i,j)!=0)rn rn i=(int)(Math.random()*14);rn j=(int)(Math.random()*14);rn rn p.setState(i,j,2);rn p.repaint();rn if(win())rn rn JOptionPane.showMessageDialog(this,"输了","输了",JOptionPane.INFORMATION_MESSAGE,null);rn initState();rn rn rn rn rn public boolean win()rn rn return false;rn rn rn public void initState()rn rn int i=0;rn int j=0;rn while(i<=14)rn rn while(j<=14)rn rn p.setState(i,j,0);rn j++;rn rn i++;rn j=0;rn rn rn[/code]
QT paint 画笔程序,对画笔的一些简单设置
这个程序主要是用QT对画笔进行一个简单设置,大家可以看看那
安卓画笔涂鸦源码
基于安卓做的画笔涂鸦程序。很多种画笔,包括 水彩笔 蜡笔 油漆笔 橡皮 图章等等。已包含编译好的apk。6.0 5.0版本下运行正常。 4.4及以下版本没测试。
关于在textBox中paint
我想将一段string画在textbox的中间,重新写了textbox的onpaint方法.但是怎么都画不到正中间.代码如下rn[code=C#] rn int startPixel_X = Convert.ToInt32(this.Width / 2f - Text * this.Font.Size / 2f);rn int startPixel_Y = Convert.ToInt32(this.Height / 2f - this.Font.Height / 2f);rn e.Graphics.DrawString(showStr, this.Font, new SolidBrush(Text), 0, startPixel_Y);rn[/code]rny方向已经没有问题了,确实在中间,但是x好象计算地不对,特别是中文,没有画到最中间,请问谁知道问题在哪儿呢?rn非常感谢rn
自定义View (三) :onDraw 之 paint 画笔
前两篇我们讲了自定义View的onMeassure 的方法以及一个相对简单的例子。我们回顾下: 1.测量 —— onMeasure() :决定View的大小。 2. 布局 —— onLayout() :决定View在ViewGroup中的位置。 3. 绘制 —— onDraw() : 如何绘制这个View 而 measureSpec 的三中mode 我们也要搞清楚。   1.UNSPEC
Android:Paint画笔的常用设置,高级方法使用
无参创建画笔对象 mPaint = new Paint(); 设置画笔颜色 mPaint.setColor(Color.red); 通过ARGB设置 颜色 mPaint.setARGB(255,255,255,0); 设置透明度 mPaint.setAlpha(100); 设置抗锯齿 mPaint.setAntiAlias(true); 设置画笔样式 STROKE:描边 FILL...
关于powerpoint中的画笔
powerpoint播放的时候,那个画笔功能是怎么实现的,那个画笔给鼠标有什么关系
使用画笔(Paint)实现圆形动态进度条
实现效果: &amp;lt;/pre&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;实现代码:&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;span style=&quot;white-space:pre&quot;&amp;gt;&amp;lt;/span&amp;gt;创建两个画笔,一支使黑色的笔,一个是白色的笔&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&a
关于paint的问题
我发觉改变窗体的大小的时候,并不会触发窗体的重画事件,请问有谁能告诉我是怎么回事吗
关于Paint方法的问题
我在绘制TabPage时用了Paint方法如下:rnvoid page1_Paint(object sender, PaintEventArgs e)rnrn但我发现((TabPage)sender).CreateGraphics()并不等于e.Graphics,rn而且e.Graphics比((TabPage)sender).CreateGraphics()更底层。rn因为e.Graphics上的图象可以透过透明控件显示出来((TabPage)sender).CreateGraphics()却不行,所以我想在方法外也能得到e.Graphics,但不知应该怎样做,希望有能人来解答。
关于paint方法的问题。
在窗体的Resize事件中已设定好若调整窗体大小,窗体内各控件将按比例调整大小。rn用paint方法将Picture1中的小位图作为源图画窗体的背景,代码如下:rnPrivate Sub Form_Paint()rnDim i As IntegerrnDim j As IntegerrnFor j = 0 To Int(form2.Height / form1.Picture1.Height)rnFor i = 0 To Int(form2.Width / form1.Picture1.Width)rnform2.PaintPicture form1.Picture1.Picture, form1.Picture1.Width * i, form1.Picture1.Height * jrnNext irnNext jrnEnd Subrn程序运行中无太大异常,只是在窗体最小化后再恢复时,程序会停止相应,我明白问题一定是出在这段代码,rn程序应该是陷入了死循环,只是不知道该怎么修改。烦劳诸位帮忙想想
关于Paint重画问题。。
这个是,我用图形的颜色和背景的颜色相同的方法,但我觉得这种方法使代码太长了。有没有直接的重画方法?rn也就是在画第二个图形的时候,先把第一个图形给覆盖掉rnrn[code=Java]rnimport java.awt.*;rnimport java.awt.event.*;rnimport java.applet.*;rnpublic class huantu extends Applet implements ActionListenerrn Graphics g;rn Panel panel=new Panel();rn Button button1=new Button("画直线");rn Button button2=new Button("画矩形");rn Button button3=new Button("画多边形");rn Button button4=new Button("画圆");rn Button button5=new Button("画扇形");rn public void init()rn add(button1);rn add(button2);rn add(button3);rn add(button4);rn add(button5);rn button1.addActionListener(this);rn button2.addActionListener(this);rn button3.addActionListener(this);rn button4.addActionListener(this);rn button5.addActionListener(this);rn rn public void actionPerformed(ActionEvent e) rn g = getGraphics();rn if(e.getSource()==button1)rn paint(g,1);rn else if(e.getSource()==button2)rn paint(g,2);rn else if(e.getSource()==button3)rn paint(g,3);rn else if(e.getSource()==button4)rn paint(g,4);rn else if(e.getSource()==button5)rn paint(g,5);rn rnrn public void paint(Graphics g,int i)rn if(i==1)rn g.setColor(Color.white); //覆盖矩形rn g.drawRect(50, 50, 50, 100);rn g.fillRect(130, 50, 50, 100);rn g.fillRect(200, 50, 100, 50);rn int x1[]=20,60,100,130,80; // 覆盖多边形rn int y1[]=60,80,150,40,60;rn int x2[]=220,260,300,330,280;rn int y2[]=60,80,150,40,60;rn g.drawPolygon(x1, y1, 5);rn g.fillPolygon(x2, y2, 5);rn g.drawOval(60, 60, 60, 60); //覆盖圆rn g.fillOval(180, 60, 60, 60);rn g.fillArc(60, 80, 80, 80, 30, 70); // 覆盖扇形rn g.fillArc(200, 80, 80, 80, 60, 140);rn g.setColor(Color.red); //画直线rn g.drawLine(30, 60, 80, 60);rn g.drawLine(100, 60, 150, 100);rn g.drawLine(160, 100, 270, 60); rn rn else if(i==2)rn g.setColor(Color.white); //覆盖直线rn g.drawLine(30, 60, 80, 60);rn g.drawLine(100, 60, 150, 100);rn g.drawLine(160, 100, 270, 60);rn int x1[]=20,60,100,130,80; //覆盖多边形rn int y1[]=60,80,150,40,60;rn int x2[]=220,260,300,330,280;rn int y2[]=60,80,150,40,60;rn g.drawPolygon(x1, y1, 5);rn g.fillPolygon(x2, y2, 5);rn g.drawOval(60, 60, 60, 60); // 覆盖圆rn g.fillOval(180, 60, 60, 60);rn g.fillArc(60, 80, 80, 80, 30, 70); //覆盖扇形rn g.fillArc(200, 80, 80, 80, 60, 140);rn g.setColor(Color.green); //画矩形rn g.drawRect(50, 50, 50, 100);rn g.fillRect(130, 50, 50, 100);rn g.fillRect(200, 50, 100, 50);rn rn else if(i==3)rn g.setColor(Color.white); //覆盖直线rn g.drawLine(30, 60, 80, 60);rn g.drawLine(100, 60, 150, 100);rn g.drawLine(160, 100, 270, 60);rn g.drawRect(50, 50, 50, 100); //覆盖矩形rn g.fillRect(130, 50, 50, 100);rn g.fillRect(200, 50, 100, 50);rn g.drawOval(60, 60, 60, 60); //覆盖圆rn g.fillOval(180, 60, 60, 60);rn g.fillArc(60, 80, 80, 80, 30, 70); // 覆盖扇形rn g.fillArc(200, 80, 80, 80, 60, 140);rn g.setColor(Color.blue); //画多边形rn int x1[]=20,60,100,130,80;rn int y1[]=60,80,150,40,60;rn int x2[]=220,260,300,330,280;rn int y2[]=60,80,150,40,60;rn g.drawPolygon(x1, y1, 5);rn g.fillPolygon(x2, y2, 5);rn rn else if(i==4)rn g.setColor(Color.white); //覆盖直线rn g.drawLine(30, 60, 80, 60);rn g.drawLine(100, 60, 150, 100);rn g.drawLine(160, 100, 270, 60);rn g.drawRect(50, 50, 50, 100); //覆盖矩形rn g.fillRect(130, 50, 50, 100);rn g.fillRect(200, 50, 100, 50);rn int x1[]=20,60,100,130,80; //覆盖多边形rn int y1[]=60,80,150,40,60;rn int x2[]=220,260,300,330,280;rn int y2[]=60,80,150,40,60;rn g.drawPolygon(x1, y1, 5);rn g.fillPolygon(x2, y2, 5);rn g.fillArc(60, 80, 80, 80, 30, 70); //覆盖扇形rn g.fillArc(200, 80, 80, 80, 60, 140);rn g.setColor(Color.pink); //画圆rn g.drawOval(60, 60, 60, 60);rn g.fillOval(180, 60, 60, 60);rn rn else if(i==5)rn g.setColor(Color.white); //覆盖直线rn g.drawLine(30, 60, 80, 60);rn g.drawLine(100, 60, 150, 100);rn g.drawLine(160, 100, 270, 60);rn g.drawRect(50, 50, 50, 100); //覆盖矩形rn g.fillRect(130, 50, 50, 100);rn g.fillRect(200, 50, 100, 50);rn int x1[]=20,60,100,130,80; //覆盖多边形rn int y1[]=60,80,150,40,60;rn int x2[]=220,260,300,330,280;rn int y2[]=60,80,150,40,60;rn g.drawPolygon(x1, y1, 5);rn g.fillPolygon(x2, y2, 5);rn g.drawOval(60, 60, 60, 60); //覆盖圆rn g.fillOval(180, 60, 60, 60);rn g.setColor(Color.orange); //画扇形rn g.fillArc(60, 80, 80, 80, 30, 70);rn g.fillArc(200, 80, 80, 80, 60, 140);rn rn rnrnrn[/code]
关于paint背景的问题
public class Frame1 extends JFrame implements ActionListener rn。。。。。。 rnrnJPanel jPanel3 = new JPanel()rn //绘制背景rn public void paintComponent(Graphics g) rnrn if(image!=null)rnrn g.drawImage(image,0,0,this.getWidth(),this.getHeight(),null);rnrnrn elsern g.setColor(new Color(100, 155, 100));rn g.fillRect(0, 0, this.getWidth(), this.getHeight());rn g.setColor(new Color(80, 135, 80));rn g.setFont(new Font("黑体", 1, 25));rn g.drawString("无背景图片", this.getWidth()/2, 30);rn rn rnrn ;rnrnrn。。。。。。。rnrn /**rn *加载背景图rn * @return booleanrn */rn public boolean loadBgPic()rn imageIcon=new ImageIcon(this.bgPicname);rn image=imageIcon.getImage();rn image = image.getScaledInstance(jPanel3.getWidth(), jPanel3.getHeight(), Image.SCALE_SMOOTH);rnrn jPanel3.validate();rn jPanel3.repaint();rnrn return true;rn rnrnrn。。。。。。。。。rnrnrnrn上面的程序中,我在jPanel3里加了一幅背景图片,然后,在jFram1里定义loadBgPic用来生成imagern现在的问题是,调用后,jPanel3显示的是jframe1的背景色,这时如果jPanel3被遮挡重绘时,就会显示部分背景图片,但为何第一次 jPanel3.validate();rn jPanel3.repaint();不显示呢?rnrn
关于paint()和paintcomponent()的问题!!
我想请问在绘图类中是不是都是自动调用paint()和paintComponent()方法得?rn为什么会调用这个方法?是在什么情况下调用?rn我想知道这两个方法在类中运行时的详细情况???rn
关于paint()的问题
我在 frame上加了一个jpanel(有颜色),但是加了paint()后,就看不到jpanel了;了,请问只重画jpanel如何做
关于JFrame的paint问题
直接在JFrame内重写的paint方法中调用某一控件rnrn的repaint方法会抛出异常。但不影响程序运行。rnrn而先把控件都加到一个JPanel上,并在JPanel内rnrn重写的paint方法中调用控件的repaint方法则不rnrn会抛出异常。再将JPanel加到JFrame就可解决。rnrn但对于有监听器的控件还需在JFrame中添加一次,rnrn并增加监听器.rnrn想知道这是为什么。有没有更好的解决方法?rn
菜鸟问题!!关于画笔!
小生在学习过程中遇到一段代码。rn功能是画一条线!rnvoid CStrokeView::OnMouseMove(UINT nFlags, CPoint point) rnrn // TODO: Add your message handler code here and/or call defaultrn if(GetCapture()!=this)rn return;rn m_pStrokeCur->m_pointArray.Add(point);rnrn CClientDC dc(this);rnrn CPen* pPenCur=dc.SelectObject( GetDocument()->GetCurPen() );rn dc.MoveTo(m_ptPrev);rn dc.LineTo(point);rn dc.SelectObject( pPenCur );//!!!!!!!!!!!!!!!!!!!rn m_ptPrev=point;rnrn return;rnrn有一个地方不清楚!rn为什么画完一条线之后,要再次dc.SelectObject();呢?rnrn我曾经试着,把这句话注释掉,没有什么问题!rnrn请各位大虾,给个说法!rnrn谢谢先!
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数