易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi图像处理

    图像旋转,是指按照给定的角度,计算出图像每个像素坐标点在新图像上的坐标位置,从而实现整个图像坐标变换的图像处理手段。其像素坐标的变换公式为:
    (1)、x' = x * cos(angle) + y * sin(andle)
            y' = x * cos(andle) - y * sin(angle)
    公式中,x',y'为变换后的像素坐标点,x,y为变换前像素坐标点,angle为旋转角度。
    但是,按照上面的公式旋转图像,会出现多个原图像像素点对应新图像同一个点的问题,这不仅会多消耗图像旋转处理的时间,而且也会使旋转后的图像产生不必要的失真,如果是32位带Alpha通道像素格式的图像,更会因此造成图像的混乱,所以在实际的图像旋转处理代码中,是以目标图(旋转后的图像)的像素坐标点,逐点反推原图像素的位置,这样,目标图的各个像素点既不会重复,也不会遗漏。其计算公式为:
    (2)、x = x' * cos(angle) - y * sin(angle)
            y = y' * cos(angle) + y * sin(angle)
    下面是Delphi图像旋转处理的代码:
过程定义:
// 获取Width * Height图像旋转Angle时,完全包含图像所需尺寸
function GetRotateSize(Width, Height: Integer; Angle: Single): TSize;
// 旋转图像,OffsetX和OffsetY分别为图像偏移量,为0时Source与Dest左上边对齐,
// Alpha为顺时针旋转角度,IpMode为插值方式
procedure ImageRotate(Dest: TImageData; OffsetX, OffsetY: Integer;
const Source: TImageData; Angle: Single; IpMode: TInterpolateMode = imDefault); overload;
// 图像自身旋转,中心点在图像的中央
procedure ImageRotate(Data: TImageData; Angle: Single;
ColorBackground: LongWord = 0; IpMode: TInterpolateMode = imDefault); overload;
// 按缺省方式旋转图像(Source与Dest左上边对齐)。
procedure ImageRotate(Dest: TImageData; const Source: TImageData;
Angle: Single; IpMode: TInterpolateMode = imDefault); overload;
// TGraphic对象旋转到Dest
procedure ImageRotate(Dest: TImageData;
const Source: TGraphic; Angle: Single; IpMode: TInterpolateM


相关文档:

Delphi图像处理

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maozefa/archive/2009/10/28/4737584.aspx
图像缩放是最常用的图像处理,在图像拉伸和取得图像略图中都要用到。图像缩放质量的好坏与图像像素插值方式有关,本文定义了常用的3种插值方式,即临近插值、线性插值和双立方插值方式:
view plaincopy to clipboardpr ......

delphi 向webbrowser打开的网页中插入js命令

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls,MSHTML;
type
TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Edit1: TEdit;
&nb ......

总结一下delphi中SQL语句中引号

总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法以及SQL语句中日期格式的表示(#)、('')
在Delphi中进行字符变量连接相加时单引号用('''),又引号用('''')表示
首先定义变量
var
AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某些情况下不对
AnIntStr:string='456'; ......

delphi学习

 1.[Error] DCansactionIformationManagement.pas(171): String literals may have at most 255 elements
[Fatal Error] DCMain.pas(32): Could not compile used unit 'DCansactionIformationManagement.pas'
报错:‘不正常定义了参数。提供了不一致或不完整信息’
解决方法:语法
数据定义要一致
2. ......

将Word嵌入Delphi中

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bigpower.blog.51cto.com/209892/90287
unit Main;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCt ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号