文档章节

GdiPlus[51]: 图像(三) 关于呈现

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 221
阅读 20
收藏 0

相关方法:
IGPGraphics.DrawImage();
IGPImage.GetThumbnailImage();
IGPImage.RotateFlip();

 
 
 
 
 

 

 

  

用 DrawImage 呈现图像时, 是否指定 Width 和 Height 的区别:



//如果图像的分辨率与 Graphics 的分辨率不一致, 则指定 Width、Height 是有必要的.
uses GdiPlus;

procedure TForm1.FormPaint(Sender: TObject);
var
  Graphics: IGPGraphics;
  Image: IGPImage;
  ix,iy,gx,gy: Single;
begin
  Image := TGPImage.Create('C:\GdiPlusImg\Shapes.bmp');
  Graphics := TGPGraphics.Create(Handle);

  Graphics.DrawImage(Image, 10, 10, Image.Width, Image.Height);
  Graphics.DrawImage(Image, Image.Width + 20, 10);

  ix := Image.HorizontalResolution;
  iy := Image.VerticalResolution;
  gx := Graphics.DpiX;
  gy := Graphics.DpiY;
  Text := Format('%.0f:%.0f; %.0f:%.0f', [ix, iy, gx, gy]);
end;

 
 
 
 
 

 

 

  

略缩图:



uses GdiPlus;

procedure TForm1.FormPaint(Sender: TObject);
var
  Graphics: IGPGraphics;
  Thumbnail,Image: IGPImage;
begin
  Image := TGPImage.Create('C:\GdiPlusImg\Apple.gif');
  Thumbnail := Image.GetThumbnailImage(32, 32);
  
  Graphics := TGPGraphics.Create(Handle);
  Graphics.DrawImage(Image, 0, 0, Image.Width, Image.Height);
  Graphics.DrawImage(Thumbnail, Image.Width + 2, 0, Thumbnail.Width, Thumbnail.Height);
end;

 
 
 
 
 

 

 

  

图像旋转:



uses GdiPlus;

procedure TForm1.FormPaint(Sender: TObject);
var
  Graphics: IGPGraphics;
  Image,ImageClone: IGPImage;
  i: Integer;
begin
  Image := TGPImage.Create('C:\GdiPlusImg\Bird.bmp');
  Graphics := TGPGraphics.Create(Handle);

  for i := 0 to 7 do
  begin
    ImageClone := Image.Clone;
    ImageClone.RotateFlip(TGPRotateFlipType(i));
    Graphics.DrawImage(ImageClone, 10, 10, Image.Width, Image.Height);
    Graphics.TranslateTransform(Image.Width + 10, 0);
    if i = 3 then
    begin
      Graphics.TranslateTransform(-Graphics.Transform.OffsetX, Image.Height + 10);
    end;
  end;
end;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/12/28/1634406.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
VC实现多格式图像的转换

色彩鲜艳漂亮的高品质图像,一个个形象生动的Windows图标,高速运动、活灵活现的三维动画,这些无一不显示出程序设计者的艺术才华。在程序设计中,图像处理已经成为每个程序员的必修课。 在V...

余二五
2017/11/06
0
0
Wine 1.1.21 发布

Wine 1.1.21 现已发布。本版本主要带来了以下改进: 初步支持 shader model 4 能够从 X11 程序中复制/粘贴图像 对 GDIPlus 进行了改善 winemaker 支持 64 位 有关此版本的更新详情,可以查阅...

红薯
2009/05/10
128
0
DotNetCore跨平台~System.DrawingCore部署Linux需要注意的

你在windows上使用图像组件没有任务问题,但部署到linux之后,将注意以下几点: 安装nuget包ZKWeb.System.Drawing 项目里还是引用System.DrawingCore,这点不用改 安装gdiplus插件,这个需要...

mcy247
2017/12/05
0
0
UIImagePickerController 图像选取器--在iPhone中调用照相机、照片库—IOS开发

UIImagePickerController 图像选取器是一种导航控制器类,让你可以在应用程序中添加简单的图像选择功能或者照相机界面。用户会看到一个图像选择屏幕,在其中挑选相片,相片的来源则是他自己的...

晨曦之光
2012/03/12
0
0
vs 2005 添加GDI配置

在VS2005当中由于自带了GDI+的开发包,所以不需要在安装GDI开发包,这些头文件的位置由VS中的$(WindowsSdkDir)/include自动包含进来了 下午自己添加了好几次,总是出现有报错,,在 stdafx.h...

种地瓜
2015/12/08
85
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux安装MySQL的两种方法

1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.3 2. 安装方法: 安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过...

onedotdot
21分钟前
4
0
phpize源码安装php扩展

4、进入源码中的ext/pcntl目录 ~# cd php-5.3.29/ext/pcntl/ 5、运行 phpize 命令 ~# phpizeConfiguring for:PHP Api Version: 20090626Zend Module Api No: 20090626......

bengozhong
29分钟前
2
0
Git 常用技巧

# Git 常用技巧 ## 暖场 - Git 怎么读 ? - Git 的作者是谁 ? - 谁没有 Github 账号 ? - 谁没有在 Github 提交过 issues,PR ? - 谁没有不会用命令操作 Git ? ## Git 简介 Git 是一种代码...

帝子兮
42分钟前
2
0
MySQL学习笔记

踩坑建议 对于时间相关字段,为插入及显示毫秒数据,建议使用datetime(6)类型,并设置数据库客户端显示毫秒相关数据

OSC_fly
42分钟前
0
0
spring配置文件中xsd引用异常

异常: org.xml.sax.SAXParseException; lineNumber: 78; columnNumber: 69; schema_reference.4: 无法读取方案文档 'http://www.springframework.org/schema/tx/spring-tx-3.2.xsd', 原因为......

zaolonglei
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部