⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 015.htm

📁 很不错的delphi入门级教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<p>end; </p><p>procedure TForm1.SetPenStyle(Sender: TObject);</p><p>begin</p><p>with Image.Canvas.Pen do</p><p>begin</p><p>if Sender = SolidPen then Style := psSolid</p><p>else if Sender = DashPen then Style := psDash</p><p>else if Sender = DotPen then Style := psDot</p><p>else if Sender = DashDotPen then Style := psDashDot</p><p>else if Sender = DashDotDotPen then Style := psDashDotDot</p><p>else if Sender = ClearPen then Style := psClear;</p><p>end;</p><p>end; </p><p>5.3 <font face="宋体" lang="ZH-CN">图像对象概述 </p></font><p>5.3.1 TGraphic<font face="宋体" lang="ZH-CN">对象</p><p>  </font>TGraphic<font face="宋体" lang="ZH-CN">对象是</font>TBitmap,TIcon,Tmetafile<font face="宋体" lang="ZH-CN">对象的基类。如果知道图像的具体类型</font>(<font face="宋体" lang="ZH-CN">如位图,</font> <font face="宋体" lang="ZH-CN">图标元文件</font>)<font face="宋体" lang="ZH-CN">,</font> <font face="宋体" lang="ZH-CN">则应将图像贮存在相应类型的对象中</font>(<font face="宋体" lang="ZH-CN">如</font>TBitmap,TIcon,Tmetafile)<font face="宋体"lang="ZH-CN">,否则应该使用可贮存任何图像类型的</font>TPicture<fontface="宋体" lang="ZH-CN">对象。 </p></font><p>5.3.2 TPicture<font face="宋体" lang="ZH-CN">对象 </p><p>  </font>TPicture<font face="宋体" lang="ZH-CN">对象可以保存位图、图标或元文件。</font>Graphic<fontface="宋体" lang="ZH-CN">属性中包括图像的类型;图像的高度和宽度分别定义在</font>Height,Width<fontface="宋体" lang="ZH-CN">属性中;调用</font>LoadFromFile<font face="宋体"lang="ZH-CN">方法,可以从文件中装载一幅图像:</font></p><p>procedure TForm1.FormCreate(Sender: TObject);</p><p>begin</p><p>BitBtn1.Glyph.LoadFromFile('TARTAN.BMP');</p><p>end; </p><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要保存一个位图,则要用</font>SaveToFile<fontface="宋体" lang="ZH-CN">方法;要把图像复制到剪切板,可以调用</font>TClipboard<fontface="宋体" lang="ZH-CN">对象的</font>Assign<font face="宋体" lang="ZH-CN">方法。 </p></font><p>5.3.3 TImage<font face="宋体" lang="ZH-CN">部件 </p><p>  </font>TImage<font face="宋体" lang="ZH-CN">部件用以在窗体中显示图像,它的</font>Picture<font face="宋体" lang="ZH-CN">属性保存着要显示的图像,</font> <fontface="宋体" lang="ZH-CN">这是一个</font>TPicture<font face="宋体" lang="ZH-CN">对象。</font>AutoSize,Stretch<fontface="宋体" lang="ZH-CN">属性是用来调节部件与图像的大小的。当</font>AutoSize<font face="宋体" lang="ZH-CN">为真值时,</font>TImage<font face="宋体"lang="ZH-CN">部件将根据它所包含的图像的大小来调整自身的大小;当</font>AutoSize<fontface="宋体" lang="ZH-CN">为假值时,不论图像有多大,部件将保持设计时的大小。如果部件比图像小,</font><font face="宋体" lang="ZH-CN">那么只有一部分图像是可见的。当</font>Stretch<fontface="宋体" lang="ZH-CN">为真值时,位图像将根据部件的大小调整自身的大小,当部件大小改变时,元文件也做相应变化。</font>Stretch<fontface="宋体" lang="ZH-CN">属性对图标没有作用。 </p></font><p>5.3.4 TBitmap Object(<font face="宋体" lang="ZH-CN">位图对象</font>)</p><font face="宋体" lang="ZH-CN"><p>  位图对象包含一个位图图像,有</font>HBITMAP,HPALETE<fontface="宋体" lang="ZH-CN">句柄,可自动管理调色板。位图对象也有画布属性。位图的</font>Palette<fontface="宋体" lang="ZH-CN">属性用来控制位图的颜色映射,它包括</font>256<fontface="宋体" lang="ZH-CN">种可显示的颜色。</font> <font face="宋体"lang="ZH-CN">如果应用程序用前景色绘制位图,</font>Palette <fontface="宋体" lang="ZH-CN">属性的颜色将被加入</font>Windows<font face="宋体"lang="ZH-CN">系统调色板,其它颜色被映射到系统调色板已存在的颜色。如果应用程序用自己的颜色绘制位图,而其它程序已占有系统调色板,位图的颜色将被映射到系统调色板中。</p><p>  如果</font>Monochrome<font face="宋体" lang="ZH-CN">属性设置成假,位图将显示成彩色,反之显示成黑白色。</p><p>  调用</font>Draw<font face="宋体" lang="ZH-CN">和</font>StretchDraw<fontface="宋体" lang="ZH-CN">方法可在画布上绘制位图。 </p></font><p>5.4 <font face="宋体" lang="ZH-CN">图像对象的应用 </p><p>  本章例程中,单击(文件</font>|<font face="宋体" lang="ZH-CN">浏览)菜单项,将弹出一个图像浏览窗体。如果用户在窗体中选择文件列表框的图形文件,窗体右上角的图像部件上将出现此文件所代表的图像;若选择“雕刻效果”按钮中检查框,窗体中的加速按钮和位图按钮上将出现位图。</p><p>  以下代码是将图像文件装载至图像部件上: </p></font><p>procedure TImageForm.FileListBox1Click(Sender: TObject);</p><p>var</p><p>FileExt: string[4];</p><p>begin</p><p>FileExt := UpperCase(ExtractFileExt(FileListBox1.Filename));</p><p>if (FileExt = '.BMP') or (FileExt = '.ICO') or (FileExt = '.WMF') then</p><p>begin</p><p>Image1.Picture.LoadFromFile(FileListBox1.Filename);</p><p>Label1.Caption := ExtractFilename(FileListBox1.Filename);</p><p>if (FileExt = '.BMP') then</p><p>begin</p><p>Label1.Caption := Label1.Caption + </p><p>Format(' (%d x %d)', [Image1.Picture.Height, Image1.Picture.Width]);</p><p>ViewForm.Image1.Picture.Bitmap := Image1.Picture.Bitmap;</p><p>ViewAsGlyph(FileExt);</p><p>end;</p><p>if FileExt = '.ICO' then Icon := Image1.Picture.Icon;</p><p>if FileExt = '.WMF' then </p><p>ViewForm.Image1.Picture.Metafile := Image1.Picture.Metafile;</p><p>end;</p><p>end;<font face="宋体" lang="ZH-CN">   </p></font><p><font face="宋体" lang="ZH-CN">这个过程首先判断文件类型,如果是图像文件,则将图像装载至图像部件上,并在标签上列出文件名称。如果是位图文件,还将显示其大小。</p><p>  在加速按钮和位图按钮中显示位图的代码如下: </p><p> </font> procedure TImageForm.CheckBox1Click(Sender: TObject); </p><p>begin</p><p>ViewAsGlyph(UpperCase(ExtractFileExt(FileListBox1.Filename)));</p><p>end; </p><p>procedure TImageForm.ViewAsGlyph(const FileExt: string);</p><p>begin</p><p>if CheckBox1.Checked and (FileExt = '.BMP') then </p><p>begin</p><p>SpeedButton1.Glyph := Image1.Picture.Bitmap;</p><p>SpeedButton2.Glyph := Image1.Picture.Bitmap;</p><p>SpinEdit1.Value := SpeedButton1.NumGlyphs;</p><p>BitBtn1.Glyph := Image1.Picture.Bitmap;</p><p>BitBtn2.Glyph := Image1.Picture.Bitmap;</p><p>end;</p><p>end; </p><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 窗体中有一个检查框用来检验图像部件的</font>Strecth<font face="宋体" lang="ZH-CN">属性的效果。当此检查框被选中时,</font>Stretch<fontface="宋体" lang="ZH-CN">设成真值,图像将根据部件大小调整自身大小。代码如下: </p></font><p>procedure TImageForm.StretchCheckClick(Sender: TObject);</p><p>begin</p><p>Image1.Stretch := StretchCheck.Checked;</p><p>end;<font face="宋体" lang="ZH-CN">  </font></p><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这个窗体中,用户可以在屏幕和打印纸上调整图像部件的大小、位置。调整图像的代码如下:  </font></p><p>procedure TViewForm.SpinEdit1Change(Sender: TObject);</p><p>begin</p><p>IMage1.Height:=105+SpinEdit1.Value*5;</p><p>IMage1.Width:=105+SpinEdit1.Value*5;</p><p>end; </p><p>procedure TViewForm.SpinEdit2Change(Sender: TObject);</p><p>begin</p><p>Image1.Left:=40+ SpinEdit2.Value*20;</p><p>end; </p><p>procedure TViewForm.SpinEdit3Change(Sender: TObject);</p><p>begin</p><p>Image1.Top:=96+SpinEdit3.Value*10;</p><p><font face="宋体" lang="ZH-CN">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当用户按下标有“全尺寸”字样的按钮时,另一个窗体将显示。</font></p><p><font face="宋体" lang="ZH-CN">图像打印代码如下:</font></p><p>procedure TViewForm.Button1Click(Sender: TObject); </p><p>begin</p><p>Printer.BeginDoc;</p><p>Printer.Canvas.Draw(Trunc(1.5*Image1.Left),Trunc(1.5*Image1.Top),Image1.Picture.Graphic);</p><p>Printer.EndDoc;</p><p>end;</p><BR><hr  width="94%"></TD><TD CLASS="tt3" VALIGN="bottom" width="8%"  ><strong><A HREF="016.htm"><FONT style="FONT-SIZE: 9pt">后一页</font></A><BR><A HREF="014.htm"><FONT style="FONT-SIZE: 9pt">前一页</font></A><BR><A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目录</font></A><BR></strong></TD></TR></table></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -