游子日月长

笑渐不闻声渐悄,多情却被无情恼!

导航

2017年2月7日 #

注册COM

摘要: 可以用代码在程序中实现COM的注册. 举例如下: (假设需要注册的文件为test.ocx)uses OLEctl,....varOCXHand: THandle;RegFunc: TDllRegisterServer;beginOCXHand:= LoadLibrary('c:\windows\sy 阅读全文

posted @ 2017-02-07 16:55 游子日月长 阅读(305) 评论(0) 推荐(0)

文件和Variant的转换

摘要: function FileToVariant(FileName: String): OleVariant; var AStream: TFileStream; MyBuffer: Pointer; begin AStream:=TFileStream.create(FileName,fmOpenRe 阅读全文

posted @ 2017-02-07 16:54 游子日月长 阅读(178) 评论(0) 推荐(0)

流和Variant的转换

摘要: procedure TForm2.VariantToStream (const v : olevariant; Stream : TMemoryStream); var p : pointer; begin Stream.Position := 0; Stream.Size := VarArrayH 阅读全文

posted @ 2017-02-07 16:53 游子日月长 阅读(164) 评论(0) 推荐(0)

bmp和Variant的转换

摘要: procedure TForm2.VariantToBMP(aValue : OleVariant;var aBmp:TBitmap); var Stream : TMemoryStream; begin try Stream := TMemoryStream.Create; VariantToSt 阅读全文

posted @ 2017-02-07 16:52 游子日月长 阅读(186) 评论(0) 推荐(0)

JPEG和Variant的转换

摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,jpeg, ExtCtrls, StdCtrls,ActiveX, AxCtrls; type TF 阅读全文

posted @ 2017-02-07 16:52 游子日月长 阅读(152) 评论(0) 推荐(0)

获得Variant类型

摘要: function GetVariantType(const v: variant): string; begin case TVarData(v).vType of varEmpty: result := 'Empty'; varNull: result := 'Null'; varSmallInt 阅读全文

posted @ 2017-02-07 16:51 游子日月长 阅读(173) 评论(0) 推荐(0)

移去OleContainer的黑边框

摘要: //禁止双击打开word编辑 olecontainer1.AutoActivate := aaManual; //禁止右键菜单 olecontainer1.AutoVerbMenu := False; //移去OleContainer的黑边框 OleContainer1.OleObject.AxBo 阅读全文

posted @ 2017-02-07 16:50 游子日月长 阅读(154) 评论(0) 推荐(0)

调整Mic音量

摘要: uses MMSystem; function GetLineInHandle(AudioType : integer) : integer;var i : integer; AudioCaps : TAuxCaps;begin result := 0; for i := 0 to auxGetNu 阅读全文

posted @ 2017-02-07 16:48 游子日月长 阅读(269) 评论(0) 推荐(0)

关闭声道

摘要: uses MMSystem; procedure SetMediaAudioOff(DeviceID : word);var SetParm : TMCI_SET_PARMS;begin SetParm.dwAudio := MCI_SET_AUDIO_ALL; mciSendCommand(Dev 阅读全文

posted @ 2017-02-07 16:47 游子日月长 阅读(126) 评论(0) 推荐(0)

检测声卡存在

摘要: 如果你是做一些多媒体播放器之类的程序时,为了完善系统的容错性,就必须用到一些检测系统的功能,其中检测声卡是否存在就是一个问题,下列程序帮你忙,首先需要在uses部分加入mmsystem ,接着在窗体创建时检测声卡:procedure TForm1.FormCreate(Sender: Tobject 阅读全文

posted @ 2017-02-07 16:46 游子日月长 阅读(170) 评论(0) 推荐(0)

控制音量及平衡

摘要: 当你做一个多媒体播放器时,难免少不了控制音量的大小和左右声道的播放,下面就介绍一种控制Wave波形输出设备音量的方法,该方法不是设置主音量。先在窗体上放两个TTrackBar,分别命名为TrackBar1,TrackBar2,属性Max都设置为65535,如果觉得刻度太密了,可以把Frequency 阅读全文

posted @ 2017-02-07 16:45 游子日月长 阅读(392) 评论(0) 推荐(0)

显示媒体时间

摘要: var Minute : byte; with MyMediaPlayer do case TimeFormat of tfHMS : Minutes := MCI_HMS_Minute(Length); tfMSF : Minutes := MCI_MSF_Minute(Length); {etc 阅读全文

posted @ 2017-02-07 16:26 游子日月长 阅读(99) 评论(0) 推荐(0)

显示AVI文件的桢数

摘要: procedure TForm1.Button1Click(Sender: TObject);begin MediaPlayer1.TimeFormat := tfFrames; ShowMessage('Number of frames = ' + IntToStr(MediaPlayer1.Le 阅读全文

posted @ 2017-02-07 16:25 游子日月长 阅读(92) 评论(0) 推荐(0)

显示Audio CD的音轨时间

摘要: uses MMSystem; procedure TForm1.Timer1Timer(Sender: TObject);var Trk : Word; Min : Word; Sec : Word;begin with MediaPlayer1 do begin Trk := MCI_TMSF_T 阅读全文

posted @ 2017-02-07 16:25 游子日月长 阅读(129) 评论(0) 推荐(0)

播放背景音乐

摘要: 方法如下:首先需要在uses部分加入mmsystem,接着写入下列语句,其中e:\1.mid为播放的文件,NN为自定义名称标志procedure TForm1.Button1Click(Sender: Tobject);begin//播放音乐MCISendString('OPEN e:\1.MID 阅读全文

posted @ 2017-02-07 16:24 游子日月长 阅读(133) 评论(0) 推荐(0)

循环播放音乐

摘要: 下面是源代码: unit Unit1; interface usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,MPlayer, StdCtrls; typeTForm1 = class(TForm 阅读全文

posted @ 2017-02-07 16:23 游子日月长 阅读(117) 评论(0) 推荐(0)

全屏幕显示AVI

摘要: uses Unit2; procedure TForm1.Button1Click(Sender: TObject);begin Form2.Show; Form2.WindowState := wsMaximized; Form2.MediaPlayer1.Notify := false; For 阅读全文

posted @ 2017-02-07 16:22 游子日月长 阅读(110) 评论(0) 推荐(0)

把AVI存在资源中用TAnimate播放

摘要: Animate1.RESName := 'About'; Animate1.Active := True; 阅读全文

posted @ 2017-02-07 16:21 游子日月长 阅读(169) 评论(0) 推荐(0)

播放一个wav文件

摘要: use mmsystem;SndPlaySound('hello.wav',SND_FILENAME or SND_SYNC) ///////////////////////////////////unit PlaySnd1; interface uses Windows, Messages, Sy 阅读全文

posted @ 2017-02-07 15:45 游子日月长 阅读(179) 评论(0) 推荐(0)

显示AVI的第一桢

摘要: procedure TForm1.Button1Click(Sender: TObject);begin Application.ProcessMessages; MediaPlayer1.Open; Application.ProcessMessages; MediaPlayer1.Step; A 阅读全文

posted @ 2017-02-07 15:44 游子日月长 阅读(101) 评论(0) 推荐(0)

视频采集,存成avi

摘要: 视频采集,存成aviunit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class 阅读全文

posted @ 2017-02-07 15:42 游子日月长 阅读(173) 评论(0) 推荐(0)

视频捕获

摘要: 目 录 一. 视频捕获快速入门 2 二.基本的捕获设置 3 1.设置捕获速度: 3 2.设置终止捕获 4 3.捕获的时间限制 4 三.关于捕获窗口 4 1.创建一个AVICAP捕获窗口 5 2.将一个捕获窗口连接至捕获设备 5 3. 父窗口与子窗口的交互 5 4.捕获窗口的状态 6 四.视频捕获驱动 阅读全文

posted @ 2017-02-07 15:41 游子日月长 阅读(498) 评论(0) 推荐(0)

如何将Wav文件做到EXE文件里

摘要: 1)编写.RC文件 ..RC文件是资源的源文件,编译器也就编译这个文件,生成.RES的资源文件 首先在我们的项目子目录中建立一个纯文本文件,起名叫Sound.rc,文件中 有一行,内容为: SOUND1 WAV SOUND.WAV 其中SOUND.WAV为一个Windows下普通的声音文件 2)编译 阅读全文

posted @ 2017-02-07 15:40 游子日月长 阅读(199) 评论(0) 推荐(0)

图形整体拉出效果

摘要: 单纯的图形整体拉出效果比较简单,动态地改变图形区域的大小就可以实现,但事先应将图形的“Stretch”设置为“True”。 举例说明下拉效果: 1.在表单上放置一图片,高度为200,属性“Height”设为0,“Stretch”设置为True。添加“Timer”构件, “Interval”设为200 阅读全文

posted @ 2017-02-07 15:39 游子日月长 阅读(118) 评论(0) 推荐(0)

消隐效果

摘要: unit Bmp-Disaper;interfaceusesSysUtils,WinTypes,WinProcs,Messages,Classes,Graphics,Controls,Forms,Dialogs,ExtCtrls,StdCtrls;typeTForm1=class(TForm)I 阅读全文

posted @ 2017-02-07 15:38 游子日月长 阅读(166) 评论(0) 推荐(0)

界面色彩渐变效果的实现

摘要: 界面色彩渐变效果是通过用渐变的画刷刷绘依次相邻的矩形块实现的。下面列举实例说明: 1.新建一个表单,假设其Width为500,设置一个按钮Button1,按此按钮将把表单置为由左向右由黄变白的渐变效果。 2.Button1按钮的代码如下: procedure TForm1.Button1Click( 阅读全文

posted @ 2017-02-07 15:36 游子日月长 阅读(184) 评论(0) 推荐(0)

改变图片效果

摘要: 想不想另图片有另一番效果,使用下列语句实现吧,增加两个Timage图片框,分别为Image1、Image2,用Image1引入一张图片,按下按钮就可以在Image2上出现惊人的效果procedure TForm1.Button1Click(Sender: Tobject);beginImage2.C 阅读全文

posted @ 2017-02-07 15:35 游子日月长 阅读(118) 评论(0) 推荐(0)

色彩的灰度转化

摘要: function RgbToGray(RGBColor : TColor) : TColor;var Gray : byte;begin Gray := Round((0.30 * GetRValue(RGBColor)) + (0.59 * GetGValue(RGBColor)) + (0.11 阅读全文

posted @ 2017-02-07 15:33 游子日月长 阅读(152) 评论(0) 推荐(0)

添加字体

摘要: uses Registry; procedure TForm1.Button1Click(Sender: TObject);var reg: TRegistry; b : bool;begin CopyFile('C:\DOWNLOAD\FP000100.TTF', 'C:\WINDOWS\FONT 阅读全文

posted @ 2017-02-07 15:27 游子日月长 阅读(128) 评论(0) 推荐(0)

如何获得以像素计算的字体宽度

摘要: BOOL GetTextExtentPoint32( HDC hdc, // handle of device context LPCTSTR lpString, // address of text string int cbString, // number of characters in s 阅读全文

posted @ 2017-02-07 15:25 游子日月长 阅读(257) 评论(0) 推荐(0)

枚举当前字体

摘要: function EnumFontFamilyProc(var lf : TLogFont; var tm : TNewTextMetric; FontType : integer; var Memo : TMemo) : integer{$IFDEF WIN32} stdcall; {$ELSE} 阅读全文

posted @ 2017-02-07 15:24 游子日月长 阅读(153) 评论(0) 推荐(0)

如何生成旋转字体

摘要: procedure TForm1.Button1Click(Sender: TObject);var lf:tlogfont;tf:tfont;begin tf:=tfont.Create; tf.Assign(button1.font); getobject(tf.handle,sizeof(lf 阅读全文

posted @ 2017-02-07 15:24 游子日月长 阅读(181) 评论(0) 推荐(0)

判断TrueType字体

摘要: function IsTrueTypeFont(FontName : string) : boolean;const PITCH_MASK: byte = $0F; var TxMetric: TTextMetric; TempCanvas : TCanvas; PitchTest : byte;b 阅读全文

posted @ 2017-02-07 15:22 游子日月长 阅读(176) 评论(0) 推荐(0)

判断是否有TrueType字体

摘要: function IsTrueTypeAvailable : bool;var {$IFDEF WIN32} rs : TRasterizerStatus; {$ELSE} rs : TRasterizer_Status; {$ENDIF}begin result := false; if not 阅读全文

posted @ 2017-02-07 15:22 游子日月长 阅读(217) 评论(0) 推荐(0)

通过注册表读取设置字体

摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; type TForm1 = class(TForm) Bu 阅读全文

posted @ 2017-02-07 15:21 游子日月长 阅读(225) 评论(0) 推荐(0)

StretchBlt

摘要: StretchBlt 函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩以满足目标矩形的尺寸。 原型: BOOL StretchBlt( HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDes 阅读全文

posted @ 2017-02-07 15:19 游子日月长 阅读(757) 评论(0) 推荐(0)

PatBlt

摘要: PatBlt 该函数使用当前选入指定设备环境中的刷子绘制给定的矩形区域。通过使用给出的光栅操作来对该刷子的像素和表面像素进行组合。 原型: BOOL PatBlt( HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwR 阅读全文

posted @ 2017-02-07 15:18 游子日月长 阅读(417) 评论(0) 推荐(0)

如何用MaskBlt实现两个位图的合并,从而实现背景透明

摘要: 我有两个位图,一个前景图,一个背景图(mask用途)。请问如何用MaskBlt实现两个位图的合并,从而实现背景透明! 核心代码:dcImage.SetBkColor(crColour);dcMask.BitBlt(0, 0, nWidth, nHeight, &dcImage, 0, 0, SRCC 阅读全文

posted @ 2017-02-07 15:16 游子日月长 阅读(339) 评论(0) 推荐(0)

输出旋转字体

摘要: procedure AngleTextOut(CV: TCanvas; const sText: String; x, y, angle:integer);var LogFont: TLogFont; SaveFont: TFont; begin SaveFont := TFont.Create; 阅读全文

posted @ 2017-02-07 15:09 游子日月长 阅读(150) 评论(0) 推荐(0)

用字体开透明窟窿

摘要: procedure TForm1.Button1Click(Sender: TObject);begin canvas.Font.Name := 'Times New Roman'; canvas.Font.size := 72; canvas.Font.style := [fsItalic,fsB 阅读全文

posted @ 2017-02-07 15:07 游子日月长 阅读(149) 评论(0) 推荐(0)

输出空心字体

摘要: procedure TForm1.Button1Click(Sender: TObject);begin Canvas.Font.Name := 'Times New Roman'; //这里的字体一定要是TrueType Font Canvas.Font.size := 72; Canvas.Fo 阅读全文

posted @ 2017-02-07 15:06 游子日月长 阅读(172) 评论(0) 推荐(0)

光滑字体

摘要: 先将文字放大一倍字号画到临时内存中, 再用AntiAlias算法缩小, 绝对光滑.而且速度很快.我这有个AntiAlias算法的例子, 很简单但很说明问题:其中核心代码如下:procedure TAntiAliasForm.SeparateColor(color : TColor; var r, g 阅读全文

posted @ 2017-02-07 15:05 游子日月长 阅读(258) 评论(0) 推荐(0)

画贝塞尔曲线

摘要: 在Delph下调用PolyBezier();procedure TForm1.Button1Click(Sender: TObject);var point:array[0..6] of Tpoint; h:HDC;beginh:=getdc(form1.handle);point[0].x:=25 阅读全文

posted @ 2017-02-07 15:04 游子日月长 阅读(283) 评论(0) 推荐(0)

一些点运算函数

摘要: Several Points (2D and 3D) routinesFrom: "Verstraelen" <vsta@innet.be> unit Functs; interface uses WinTypes, Classes, Graphics, SysUtils; type TPoint2 阅读全文

posted @ 2017-02-07 15:03 游子日月长 阅读(278) 评论(0) 推荐(0)

由位图生成区域

摘要: 思路: 扫描图象的scanline, 取不是背景色的连续坐标, 认为是一个height=1的rect,用CreateRectRgn生成region, 再用CombineRgn(.....RGN_OR)与先前生成的region合并生成新的region. 重复扫描完所有扫描线后就得到一个region了. 阅读全文

posted @ 2017-02-07 15:02 游子日月长 阅读(145) 评论(0) 推荐(0)

旋转位图

摘要: Here's code to rotate a bitmap 90 degrees From: Dave Shapiro <daves@cyber-fx.com>Counterclockwise, that is. This rotates a 640x480 24-bit bitmap 90 de 阅读全文

posted @ 2017-02-07 15:01 游子日月长 阅读(122) 评论(0) 推荐(0)

获得当前颜色深度

摘要: function GetColorDepth: integer var dc: HDC; begin dc := GetDC(0); Result := GetDeviceCaps(dc, BITSPIXEL); ReleaseDC(0, dc); end; 阅读全文

posted @ 2017-02-07 14:59 游子日月长 阅读(134) 评论(0) 推荐(0)

求多边形的面积

摘要: const MaxPointNum = 65535;type PXY = ^TXY; TXY = record // 点的数据结构 x, y: single; end; XYArray = array[0..MaxPointNum] of TXY; PXYArray = ^XYArray; // 线 阅读全文

posted @ 2017-02-07 14:58 游子日月长 阅读(165) 评论(0) 推荐(0)

MaskBlt 拷贝非矩形区域图象

摘要: MaskBlt 该函数使用特定的掩码和光栅操作来对源和目标位图的颜色数据进行组合。 原型: BOOL MaskBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int n 阅读全文

posted @ 2017-02-07 14:57 游子日月长 阅读(177) 评论(0) 推荐(0)

画多边型

摘要: procedure TForm1.Button1Click(Sender: TObject);var ptArray : array[0..9] of TPOINT; PtCounts : array[0..1] of integer;begin PtArray[0] := Point(0, 0); 阅读全文

posted @ 2017-02-07 14:56 游子日月长 阅读(107) 评论(0) 推荐(0)

判断画布是否是图元格式画布

摘要: if (GetDeviceCaps(Canvas.Handle, TECHNOLOGY) and DT_METAFILE) = DT_METAFILE then IsMetafileDc := True; 阅读全文

posted @ 2017-02-07 14:55 游子日月长 阅读(132) 评论(0) 推荐(0)

转化RGB颜色为CMYK颜色

摘要: procedure RGBTOCMYK(R : byte; G : byte; B : byte; var C : byte; var M : byte; var Y : byte; ... 阅读全文

posted @ 2017-02-07 14:54 游子日月长 阅读(709) 评论(0) 推荐(0)

把位图转化为图标

摘要: http://www.txsz.net/xs/delphi/1/NewTopic253.htmYou must create two bitmaps, a mask bitmap (called the "AND" bitmap) and a image bitmap (called the XOR bitmap). You can pass the handles to the "AND" a... 阅读全文

posted @ 2017-02-07 14:52 游子日月长 阅读(175) 评论(0) 推荐(0)

使用路径和几何笔

摘要: procedure TForm1.Button1Click(Sender: TObject); var lb : TLogBrush; begin lb.lbStyle := BS_SOLID; lb.lbColor := RGB(255, 0, 0); lb.lbHatch := 0; Form1.Canvas.Pen.Handle := ExtCreatePen(... 阅读全文

posted @ 2017-02-07 14:51 游子日月长 阅读(113) 评论(0) 推荐(0)

画动态多边型

摘要: type TPtArray = array[0..0] of TPoint; PPtArray = ^TPtArray; procedure DrawDynamicPolyArray(NumPoints : integer; Canvas : TCanvas); var p : PPtArray; i : integ... 阅读全文

posted @ 2017-02-07 14:49 游子日月长 阅读(150) 评论(0) 推荐(0)

改变文字背景颜色

摘要: procedure TForm1.Button1Click(Sender: TObject); var OldTextColor : TColorRef; OldBkColor : TColorRef; OldBkMode : Integer; begin OldTextColor := SetTextColor(Form1.Canvas.Handle, RGB(0, 0, 25... 阅读全文

posted @ 2017-02-07 14:49 游子日月长 阅读(197) 评论(0) 推荐(0)

使文字背景透明

摘要: procedure TForm1.Button1Click(Sender: TObject); var OldBkMode : integer; begin with Form1.Canvas do begin Brush.Color := clRed; FillRect(Rect(0, 0, 100, 100)); Brush.Color := clBlue; ... 阅读全文

posted @ 2017-02-07 14:48 游子日月长 阅读(155) 评论(0) 推荐(0)

文件拷贝

摘要: {This way uses a File stream.} Procedure FileCopy( Const sourcefilename, targetfilename: String ); Var S, T: TFileStream; Begin S := TFileStream.Create( sourcefilename, fmOpenRead ); try T... 阅读全文

posted @ 2017-02-07 14:46 游子日月长 阅读(126) 评论(0) 推荐(0)

鼠标选取图象的实现

摘要: type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftSta... 阅读全文

posted @ 2017-02-07 12:58 游子日月长 阅读(168) 评论(0) 推荐(0)

刷新整个画布

摘要: procedure TForm1.FormResize(Sender: TObject); begin InvalidateRect(Form1.Handle, nil, false); end; 阅读全文

posted @ 2017-02-07 12:57 游子日月长 阅读(136) 评论(0) 推荐(0)

用API处理位图

摘要: procedure TForm1.Button1Click(Sender: TObject); var dc : hdc; MemDc : hdc; MemBitmap : hBitmap; OldMemBitmap : hBitmap; begin {Get the handle to the screen's dc} dc := GetDc(0); {Create a... 阅读全文

posted @ 2017-02-07 12:56 游子日月长 阅读(138) 评论(0) 推荐(0)

将区域的颜色取反

摘要: 快速将某一区域的颜色取反,主要应用在制作表格时的选择区域. API函数:PatBlt(MyHDC:HDC;X,Y,WIDTH,HEIGHT:INTEGER;MODE); 例如: var MyDC:HDC; Begin MyDC:HDC; MyDC:=GetDC(Form1.Handle); if n 阅读全文

posted @ 2017-02-07 12:56 游子日月长 阅读(181) 评论(0) 推荐(0)

用TImageList动态画透明图片

摘要: procedure TForm1.Button1Click(Sender: TObject); var bm : TBitmap; il : TImageList; begin bm := TBitmap.Create; bm.LoadFromFile('C:\DownLoad\TEST.BMP'); il := TImageList.CreateSize(bm.Width,... 阅读全文

posted @ 2017-02-07 12:53 游子日月长 阅读(257) 评论(0) 推荐(0)

将bmp文件转换为jpg文件

摘要: procedure TForm1.Button1Click(Sender: TObject);(*压缩MBP为JPEG;但是没有提供压缩比可选项凑合用吧,大概1/3 ^_^:Note:必须加上JPEG到Uses单元*)varMyJPEG : TJPEGImage;MyBMP : TBitmap;be 阅读全文

posted @ 2017-02-07 12:52 游子日月长 阅读(533) 评论(0) 推荐(0)

基于图像漫游:在有限区域内显示大图像

摘要: 在开发多媒体应用中,经常会遇到需要在有限区域内显示大图像的情况,有不少文章对此提出过解决方法,如通过调用Windows的API函数,直接读写内存等。这些方法有某些优点,但实现起来较为复杂,且易出错。笔者在实践中通过仔细摸索,利用Delphi的强大的面向对象可视化开发环境开发了一种交互式图像漫游方法。 阅读全文

posted @ 2017-02-07 12:49 游子日月长 阅读(539) 评论(0) 推荐(0)

快速图象处理

摘要: P := Bitmap.Scanline[y]; x := 0; while x <= Bitmap.width*3 -1 do begin P[x] := 200; //Blue P[x+1] := 200; //Green P[x+2] := 200; //Red inc(x,3) end; 阅读全文

posted @ 2017-02-07 12:47 游子日月长 阅读(124) 评论(0) 推荐(0)

创建位图

摘要: One way to create a bitmap from a pixel array is to use the Windows API function CreateDiBitmap(). This will allow you to use one of many device independent bitmap formats that Windows uses to sto... 阅读全文

posted @ 2017-02-07 12:45 游子日月长 阅读(226) 评论(0) 推荐(0)

TColor转化为字符串

摘要: procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add(ColorToString(clRed)); Memo1.Lines.Add(IntToStr(StringToColor('clRed'))); end; 阅读全文

posted @ 2017-02-07 12:39 游子日月长 阅读(140) 评论(0) 推荐(0)

改变图象调色板

摘要: var Bitmap: TBitmap; begin Bitmap:=TBitmap.Create; Bitmap.LoadfromFile({'Whatever.bmp'}); With Image2.Picture.bitmap do Begin Width:=Bitmap.Width; height:=Bitmap.Height; Palette:=Bitmap.... 阅读全文

posted @ 2017-02-07 12:37 游子日月长 阅读(134) 评论(0) 推荐(0)

创建调色板

摘要: procedure TForm1.Button1Click(Sender: TObject); var lpPalette : PLogPalette; hPal : hPalette; i : integer; begin {Allocate the memory used by the palette} GetMem(lpPalette, sizeof(... 阅读全文

posted @ 2017-02-07 12:34 游子日月长 阅读(169) 评论(0) 推荐(0)

在MetaFile里放图片

摘要: procedure TForm1.Button1Click(Sender: TObject); var m : TmetaFile; mc : TmetaFileCanvas; b : tbitmap; begin m := TMetaFile.Create; b := TBitmap.create; b.LoadFromFile('C:\SomePath\Som... 阅读全文

posted @ 2017-02-07 12:33 游子日月长 阅读(195) 评论(0) 推荐(0)

取出资源文件中的bitmap,并将其保存到TMemoryStream中,从资源里载入图象而不丢失调色板

摘要: 从资源里载入图象而不丢失调色板 procedure loadgraphic(naam:string);var { I've moved these in here, so they exist only during the lifetime of the procedure. } HResInfo 阅读全文

posted @ 2017-02-07 12:28 游子日月长 阅读(236) 评论(0) 推荐(0)

Canvas.Pixels 实例:判断一点是否在区域中

摘要: The Windows 3.1 and Windows 95 GDI heap is limited in regards to scan converting large and complex regions such as Ellipses, Polygons, and PolyPolygon 阅读全文

posted @ 2017-02-07 12:21 游子日月长 阅读(277) 评论(0) 推荐(0)