仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1205|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:C#收集使用编程基本实习题与谜底(九)...

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:48:22 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。编程|收集  1.简述三类二维坐标体系之间的不异点和区分。
  【解答】
  GDI+中的二维笛卡儿坐标体系分为三类:全局坐标体系、页面坐标体系和设备坐标体系。
  三类坐标体系的不异点:它们都有坐标原点和向右和向下的x轴和y轴。
  三类坐标体系的区分:全局坐标体系能够举行扭转、平移等操纵。页面坐标体系与设备坐标体系都是以设备的左上角为坐标原点,X程度向右为正,Y垂直向下为正。页面坐标体系与设备坐标体系的差别在于X,Y的单元分歧:页面坐标系中的X,Y单元能够恣意设定,如英寸、毫米等;而设备坐标系中,只要一种单元,那就是点(point)大概像素(pixel)。页面坐标系是不克不及变动的,它是一个参照尺度,将全局坐标终极转换为设备坐标。
  2.简述创立Graphics类工具的三种办法。
  【解答】
  (1)在窗体或控件的Paint事务中间接援用Graphics工具。在为窗体创立绘制代码时,一样平常利用此办法猎取对图象的援用。
  (2)从以后窗体猎取对Graphics工具的援用。注重这类工具只要在处置以后Windows窗体动静的过程当中无效。假如想在已存在的窗体或控件中画图,可使用此种办法。
  (3)从承继自图象的任何工具创立Graphics工具。这个办法合用于必要变动已存在的
  图象。
  3.同时创立多个矩形并用红黑相间的色彩举行添补。
  【解答】
  (1)新建一个Windows使用程序,定名为“FillMultiRectangle”,调剂窗体到得当巨细。变动“Form1.cs”为“FormFillMultiRectangle.cs”。
  (2)切换到代码体例,增加称号空间援用:
  usingSystem.Drawing.Drawing2D;
  (3)双击窗体的属性面板里事务页中的Paint事务,增加FormFillMultiRectangle_Paint事务代码。
<P>  privatevoidFormFillMultiRetangle_Paint(objectsender,PaintEventArgse)
  {
  Graphicsg=e.Graphics;
  HatchBrushmybrush=newHatchBrush(HatchStyle.Cross,Color.Red,Color.Black);
  Rectangle[]rect=
  {
  newRectangle(0,0,50,100),
  newRectangle(50,100,100,50),
  newRectangle(150,150,50,100),
  };
  g.FillRectangles(mybrush,rect);
  g.Dispose();
  }
  (4)了局如图所示。



  4.利用Label控件分离以矩形、椭圆和圆形的体例显现图片,并包管图片完整由绘制工具的边框决意。
  【解答】
  (1)新建一个Windows使用程序,定名为“ShowImageExe”,调剂窗体到得当巨细。变动“Form1.cs”为“FromShowImageExe.cs”。
  (2)切换到代码体例,增加称号空间援用:
  usingSystem.Drawing.Drawing2D;
  (3)增加四个Button控件分离定名为“buttonOpenFile”、“buttonRectangle”、“buttonEllipse”、“buttonRound”,和一个openFileDiolog和label控件。
  (4)在Form类下声明两个公有变量filename和flag,分离用来纪录翻开的文件名和判别哪一个按钮的click工夫被触发。
  privatestringfilename="";
  privateintflag=0;
  (5)增加【翻开文件】按钮的click事务
<P>  privatevoidbuttonOpenFile_Click(objectsender,EventArgse)
  {
  openFileDialog1.ShowDialog();
  filename=openFileDialog1.FileName;
  label1.Refresh();
  }
  (6)在label1控件的paint事务下增加以下代码:
<P>  privatevoidlabel1_Paint(objectsender,PaintEventArgse)
  {
  if(filename.Trim()=="")
  return;
  Bitmapmybitmap=newBitmap(filename);
  Graphicsg=e.Graphics;
  TextureBrushmybrush=newTextureBrush(mybitmap,WrapMode.Clamp);
  //包管图片完整由绘制工具的边框决意
  switch(flag)
  {
  case1:
  g.FillRectangle(mybrush,label1.ClientRectangle);
  break;
  case2:
  g.FillEllipse(mybrush,label1.ClientRectangle);
  break;
  case3:
  g.FillEllipse(mybrush,(label1.Width-label1.Height)/2,0,label1.Height,label1.Height);
  break;
  }
  }
  (7)在其他几个按钮的click事务平分别增加以下代码:
<P>  privatevoidbuttonRectangle_Click(objectsender,EventArgse)
  {
  flag=1;
  label1.Refresh();
  }
  privatevoidbuttonEllipse_Click(objectsender,EventArgse)
  {
  flag=2;
  label1.Refresh();
  }
  privatevoidbuttonRound_Click(objectsender,EventArgse)
  {
  flag=3;
  label1.Refresh();
  }
  



  (8)了局如图所示。
  5.使用PictureBox控件和Panel控件完成利用转动条扫瞄年夜图片。
  【解答】
  因为Picturebox控件在显现图片时不克不及间接利用转动条,以是必需借助Panel控件完成以转动条的体例扫瞄年夜图片。详细操纵步骤以下:
  (1)新建一个Windows使用程序,定名为“scrollBar”,调剂窗体到得当巨细。变动“Form1.cs”为“FormScrollBar.cs”。
  (2)切换到代码体例,增加称号空间援用:
  usingSystem.Drawing.Drawing2D;
  (3)在窗体上分离增加一个button控件定名为“buttonOpenFile”,一个openFileDiolog控件,Picturebox和Panel控件各一个,将Panel控件的AutoScroll属性设为true。
  (4)在“buttonOpenFile”控件的click事务中增加以下代码:
<P>  privatevoidbuttonOpenFile_Click(objectsender,EventArgse)
  {
  openFileDialog1.ShowDialog();
  if(openFileDialog1.FileName.Trim()=="")
  return;
  try
  {
  Bitmapmybitmap=newBitmap(openFileDialog1.FileName);
  pictureBox1.Image=mybitmap;
  }
  catch(ExceptionErr)
  {
  MessageBox.Show("翻开文件毛病!","信息提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }
  }
  (5)了局如图所示。
  



  6.完成对图片按恣意角度举行扭转、按恣意比例举行缩放、按恣意位移举行平移。
  【解答】
  (1)在窗体上增加六个label控件(个中label1用来显现图片)、一个button控件(用于翻开图片文件)和五个numericUpDown控件(分离用来选择图片缩放的比例、图片扭转的角度、图片位移的巨细)。
  (2)在机关函数上方增加代码:
  privatestringstrfilename="";
  (3)在button控件的click事务里增加以下代码:
<P>  privatevoidbutton1_Click(objectsender,EventArgse)
  {
  openFileDialog1.ShowDialog();
  strfilename=openFileDialog1.FileName;
  label1.Refresh();
  }
  (4)在每个numericUpDown控件的ValueChanged事务中增加以下代码:
  label1.Refresh();
  (5)在label1控件的paint事务中增加以下代码:
<P>  privatevoidlabel1_Paint(objectsender,PaintEventArgse)
  {
  if(this.strfilename.Trim()=="")
  return;
  try
  {
  Bitmapmybitmap=newBitmap(strfilename);
  Graphicsg=e.Graphics;
  TextureBrushmybrush=newTextureBrush(mybitmap);
  floatx=(float)(numericUpDownS1.Value/100);
  floaty=(float)(numericUpDownS2.Value/100);
  mybrush.ScaleTransform(x,y);
  g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
  floatr=(float)(numericUpDownR1.Value);
  mybrush.RotateTransform(r);
  g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
  floattx=(float)(numericUpDownT1.Value);
  floatty=(float)(numericUpDownT2.Value);
  mybrush.TranslateTransform(tx,ty);
  g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
  }
  catch(ExceptionErr)
  {
  MessageBox.Show("翻开文件毛病!","信息提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }
  }
  8-8-6



什么叫数据库怎么样?什么意思?你想单学数据库。(其实变成是我问的)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 15:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表