问题描述
privatevoidbutton3_Click(objectsender,EventArgse){intj;Graphicsg=CreateGraphics();Penp=newPen(Color.Red,5);Imagei=Image.FromFile(@"C:UsersAdministratorDesktopQQ.jpg");g.DrawImage(i,50,50);Brushb=Brushes.Red;Fontf=newFont("Hacttenscheiler",15);for(j=1;j<7;j++){timer1.Enabled=true;g.DrawString("轻如/n"+j,f,b,100,100);timer1.Enabled=false;g.Clear(BackColor);}我想实现循环且换行输出:"轻如n”n=1,2,3,~~`,如果可以用time控件实现延迟更好,在这段代码的基础上怎么改?
解决方案
解决方案二:
你这是在图片上写字,那么所谓的换行,就是在特定位置DrawString自己根据字体大小重新设置Point就行了
解决方案三:
引用1楼starfd的回复:
你这是在图片上写字,那么所谓的换行,就是在特定位置DrawString自己根据字体大小重新设置Point就行了
引用1楼starfd的回复:
你这是在图片上写字,那么所谓的换行,就是在特定位置DrawString自己根据字体大小重新设置Point就行了
您说的我不明白啊,能在源代码上修改吗?
解决方案四:
g.DrawString("轻如/n"+j,f,b,100,100);你这个就是在x:100,y:100位置写字然后你的j又是1开始,那么在循环中就是g.DrawString(j,f,b,100,100+20*(j-1));
解决方案五:
引用3楼starfd的回复:
g.DrawString("轻如/n"+j,f,b,100,100);你这个就是在x:100,y:100位置写字然后你的j又是1开始,那么在循环中就是g.DrawString(j,f,b,100,100+20*(j-1));
谢谢,效果出来了,只是还不能实现延迟出现,您能给解决吗?
解决方案六:
延迟效果那你就拖个timer,定义个全局变量intj,然后把你相关的代码调整到timer事件里就可以了
解决方案七:
privatevoidbutton3_Click(objectsender,EventArgse){Graphicsg=CreateGraphics();Penp=newPen(Color.Red,5);Imagei=Image.FromFile(@"C:UsersAdministratorDesktopQQ.jpg");g.DrawImage(i,50,50);Brushb=Brushes.Red;Fontf=newFont("Hacttenscheiler",15);intn=1;Timert=newTimer();t.Interval=1000;t.Enabled=true;t.Tick+=delegate{g.DrawString("轻如"+n.ToString()j,f,b,100,n*10);if(n==100)t.Enabled=false;n++;};
解决方案八:
/n是什么,不是应该n吗你要做动画,就不要循环,循环太快了,人眼看不见