DelphiͼÏñ´¦Àí
CSDNÂÛ̳ÖУ¬¾³£¿´µ½ÓÐ¹Ø½ØÆÁµÄÌù¡£Ëùν½ØÆÁ£¬Ö¸µÄÊÇ»ñÈ¡ÆÁÄ»£¬»òÕ߯ÁÄ»ÉÏij¸ö´°¿ÚÉϵÄÐÅÏ¢£¬²¢½«Æäת»»ÎªÍ¼ÏñµÄ²Ù×÷¡£Îª´Ë£¬Ò²Ð´Á˼¸¸öWindowsÏµē½ØÆÁ”º¯Êý£º
¹ý³Ì¶¨Ò壺
// »ñÈ¡CanvasÓÐÐ§ÇøÓòÄÚµÄͼÏñÊý¾Ý¡£±ØÐëÓÃFreeImageDataÊÍ·ÅÊý¾Ý½á¹¹
// Ó¦µ÷ÓÃImageEmpty¼ì²é·µ»ØÊý¾Ý½á¹¹ÊÇ·ñ¿Õ
function GetImageData(Canvas: TCanvas): TImageData; overload;
// »ñÈ¡´°¿ÚÓÐÐ§ÇøÓòÄÚµÄͼÏñÊý¾Ý¡£±ØÐëÓÃFreeImageDataÊÍ·ÅÊý¾Ý½á¹¹
// Ó¦µ÷ÓÃImageEmpty¼ì²é·µ»ØÊý¾Ý½á¹¹ÊÇ·ñ¿Õ
function GetImageData(Handle: HWnd): TImageData; overload;
// »ñÈ¡TGpGraphics¶ÔÏóÓÐÐ§ÇøÓòÄÚµÄͼÏñÊý¾Ý¡£±ØÐëÓÃFreeImageDataÊÍ·ÅÊý¾Ý½á¹¹
// Ó¦µ÷ÓÃImageEmpty¼ì²é·µ»ØÊý¾Ý½á¹¹ÊÇ·ñ¿Õ
function GetImageData(g: TGpGraphics): TImageData; overload;
ʵÏÖ´úÂ룺
procedure FillAlpha(Data: TImageData);
asm
mov edx, [eax].TImageData.Scan0
mov ecx, [eax].TImageData.Width
imul ecx, [eax].TImageData.Height
mov eax, 0ff000000h
@PixelLoop:
or [edx], eax
add edx, 4
loop @PixelLoop
end;
function GetHBitmapData(DC: HDC; Bitmap: HBitmap; PixelBits: Integer): TImageData;
var
bmi: TBitmapInfo;
begin
Result := GetImageData(1, 1, 0, nil, 0);
bmi.bmiHeader := GetBitmapInfoHeader(Result);
if GetDIBits(DC, Bitmap, 0, 1, nil, bmi, DIB_RGB_COLORS) = 0 then
raise EImageDataError.Create(EIDErrorParam);
Result := GetImageData(bmi.bmiHeader.biWidth, bmi.bmiHeader.biHeight, PixelBits);
Result.InvertLine := True;
bmi.bmiHeader := GetBitmapInfoHeader(Result);
if GetDIBits(DC, Bitmap, 0, Result.Height, Result.Scan0, bmi, DIB_RGB_COLORS) = 0 then
begin
FreeImageData(Result);
raise EImageDataError.Create(EIDErrorNotSupport);
end;
end;
function GetImageDatafromDC(DC: HDC): TImageData;
var
r: TRect;
saveBitmap, Bitmap: HBITMAP;
memDC: HDC;
begin
FillChar(Result, Sizeof(TImageData), 0);
GetClipBox(DC, r);
if IsRectEmpty(r) then Exit;
Dec(r.Right, r.Left);
Dec(r.Botto
Ïà¹ØÎĵµ£º
ÖÆ×÷Ô²½Ç¾ØÐεĴ°Ì壺
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandle;
03.begin
04.hr:=createroundrectrgn(0,0,width,height,20,20);
05.setwindowrgn(handle,hr,true);
06.end;
Èç¹û²»Òª´°ÌåÍâ¿ò£¬ÔòʹÓãº
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandl ......
¡¶DelphiͼÏñ´¦Àí -- Êý¾ÝÀàÐͼ°ÄÚ²¿¹ý³Ì¡·Ò»ÎÄÖж¨ÒåÁË»ù±¾µÄͼÏñÊý¾ÝÀàÐͼ°Ò»Ð©ÄÚ²¿¹ý³Ì£¬±¾ÎĽøÒ»²½½«Delphi³£ÓõÄͼÏñÀàÐÍת»»ÎªÍ¼Ïñ´¦ÀíËùÐèµÄÊý¾Ý½á¹¹£¬Îª¾ßÌåµÄDelphiͼÏñ´¦Àí¹ý³Ì×÷×¼±¸£¬Í¬Ê±Ò²Òª½«´¦ÀíºÃµÄͼÏñÊý¾Ýת»»ÎªDelphiµÄ³£ÓÃͼÏñÀàÐÍ¡£¡¶DelphiͼÏñ´¦Àí¡·ÏµÁгýͼÏñÊý¾Ýת»»¹ý³ÌÍâ£¬Æ ......
1) Error loading midas.dll ûÓÐ×¢²ámidas.dll ÔËÐÐRegSver32.exe midas.dll
2)Result := GetProcAddress(FGDIPlusLibrary, PChar(ProcName));±àÒë ³öÏÖÕâÑùµÄÎÊÌ⣬Ӧ¸ÃÊÇÉèÖ÷½ÃæµÄÎÊÌ⣬Project->Options->Complier->Hugestrings ¹³ÉϾÍokÁË£¡
3) TCheckListBoxÓиöitemEnable ......
ListView1.Items Ϊ±ê×¼ TlistitemsÀà
ListView1.Items
(1)¸³Öµ
with ListView1.Items.Add do
begin
Caption:=caption; //Ìí¼ÓµÚÒ»Ïî
SubItems.add(aaaaa); //Ìí¼ÓºóÃæÊý¾Ý
SubItems.add(1234);
SubItems.add(1234);
end; //Ò»¶¨ÒªÊ¹ÓÃWITH½á¹¹.
(2)ȡֵ
listview1.Items.Item[i].Caption È¡µÃijÌõÊý¾Ý±êÌâ
l ......
DelphiµÄTCanvasÒÔ¼°ÅÉÉúÀàÌṩÁËÏÔʾTGraphicͼÏñµÄ·½·¨Draw£¬ÆäʵÕâ¸ö·½·¨±¾Éí²¢Ã»ÓÐÏÔʾͼÏñµÄ¹¦ÄÜ£¬Ö»ÊÇ·´¹ýÀ´µ÷ÓÃÁËÒ»ÏÂTGraphicµÄDraw·½·¨¡£TGraphic±¾ÉíÊǸö³éÏóÀ࣬ÆäDraw·½·¨Ò²ÊǸö´¿Ðé·½·¨£¬ËùÒÔTGraphicµÄËùÓÐÅÉÉúÀà±ØÐëÌṩһ¸ö¾ßÌåµÄDraw·½·¨¡£TGraphicµÄÖ÷ÒªÅÉÉúÀàTBitmapÒ²ÓÐÒ»¸öDraw·½· ......