Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

DelphiͼÏñ´¦Àí

    ±¾ÎĵÄÏßÐÔÁÁ¶È/¶Ô±È¶Èµ÷Õû·½·¨ÊÇÔÚ¡¶¸Ä½øµÄͼÏñÏßÐÔÁÁ¶Èµ÷Õû·½·¨¡·Ò»ÎÄÖÐÏßÐÔÁÁ¶Èµ÷Õû·½·¨Óë¡¶DelphiͼÏñ´¦Àí -- PhotoshopͼÏñÁÁ¶È/¶Ô±È¶Èµ÷Õû¡·ÖеĶԱȶȵ÷Õû·½·¨»ù´¡ÉÏÐγɵ쬯äÔ­ÀíºÍÌØµã¿É²Î¼ûÕâ2ƪÎÄÕ£º
    ¹ý³Ì¶¨Ò壺
// ÏßÐÔµ÷ÕûÁÁ¶È£¬ValueÁÁ¶ÈÖµ
procedure ImageLinearBrightness(Data: TImageData; Value: Integer);
// µ÷ÕûÁÁ¶È£¨ÏßÐÔ£©ºÍ¶Ô±È¶È
procedure ImageLinearBrightnessAndContrast(Data: TImageData;
Bright, Contrast: Integer; Threshold: LongWord);
ʵÏÖ´úÂ룺
procedure ImageLinearbrightness(Data: TImageData; Value: Integer);
asm
push ebp
push esi
push edi
push ebx
test edx, edx // if (Value == 0) return
jz @end
mov ebp, edx
jl @@2
push eax
cmp ebp, 255 // if (Value > 0)
jle @@1 // {
mov ebp, 255 // if (Value > 255) Value = 255
@@1:
mov eax, 65536 // Value = 65536 / (256 - Value) - 256
mov ecx, 256
sub ecx, ebp
cdq
div ecx
sub eax, 256
mov ebp, eax // }
pop eax
@@2:
call SetDataReg32
cld
@yLoop:
push ecx
@xLoop:
push ecx
mov ecx, 3
@RGBLoop:
movzx eax, [edi] // rgb = rgb + rgb * value / 256
mov esi, eax
imul eax, ebp
sar eax, 8
add eax, esi
jns @@3
xor eax, eax
jmp @@4
@@3:
cmp eax, 255
jle @@4
mov eax, 255
@@4:
stosb
loop @RGBLoop
inc edi
pop ecx
loop @xLoop
pop ecx
add edi, ebx
dec edx
jnz @yLoop
@end:
pop ebx
pop edi
pop esi
pop ebp
end;
procedure ImageLinearBrightnessAndContrast(Data: TImageData;
Bright, Contrast: Integer; Threshold: LongWord);
begin
if (Bright <> 0) and (Contrast > 0) then
ImageLinearBrightness(Data, Bright);
ImageContrast(Data, Contrast, Threshold);
if (Bright <> 0) and (Contrast <= 0) then
ImageLinearBrightness(Data, Bright);
end;

&


Ïà¹ØÎĵµ£º

DelphiͼÏñ´¦Àí

    DelphiµÄTCanvasÒÔ¼°ÅÉÉúÀàÌṩÁËÏÔʾTGraphicͼÏñµÄ·½·¨Draw£¬ÆäʵÕâ¸ö·½·¨±¾Éí²¢Ã»ÓÐÏÔʾͼÏñµÄ¹¦ÄÜ£¬Ö»ÊÇ·´¹ýÀ´µ÷ÓÃÁËÒ»ÏÂTGraphicµÄDraw·½·¨¡£TGraphic±¾ÉíÊǸö³éÏóÀ࣬ÆäDraw·½·¨Ò²ÊǸö´¿Ðé·½·¨£¬ËùÒÔTGraphicµÄËùÓÐÅÉÉúÀà±ØÐëÌṩһ¸ö¾ßÌåµÄDraw·½·¨¡£TGraphicµÄÖ÷ÒªÅÉÉúÀàTBitmapÒ²ÓÐÒ»¸öDraw·½· ......

DelphiͼÏñ´¦Àí

    CSDNÂÛ̳ÖУ¬¾­³£¿´µ½ÓÐ¹Ø½ØÆÁµÄÌù¡£Ëùν½ØÆÁ£¬Ö¸µÄÊÇ»ñÈ¡ÆÁÄ»£¬»òÕ߯ÁÄ»ÉÏij¸ö´°¿ÚÉϵÄÐÅÏ¢£¬²¢½«Æäת»»ÎªÍ¼ÏñµÄ²Ù×÷¡£Îª´Ë£¬Ò²Ð´Á˼¸¸öWindowsÏµē½ØÆÁ”º¯Êý£º
¹ý³Ì¶¨Ò壺
// »ñÈ¡CanvasÓÐÐ§ÇøÓòÄÚµÄͼÏñÊý¾Ý¡£±ØÐëÓÃFreeImageDataÊÍ·ÅÊý¾Ý½á¹¹
// Ó¦µ÷ÓÃImageEmpty¼ì²é·µ»ØÊý¾Ý½ ......

Îò͸delphi µÚÆßÕ ×éÖ¯ÄãµÄÄ£¿é

µÚÒ»Õ  DELPHIµÄÔ­×ÓÊÀ½ç
µÚ¶þÕ  DELPHIÓëWIN32ʱ¿Õ
µÚÈýÕ  ¶àÏß³Ì
µÚËÄÕ  ½Ó¿Ú
µÚÎåÕ  °ü
µÚÁùÕ  ʼþÓëÏûÏ¢
µÚÆßÕ  ×éÖ¯ÄãµÄÄ£¿é
µÚ°ËÕ  ̽Ë÷Êý¾Ý¿â
µÚ¾ÅÕ  ¶à²ãÌåϵ½á¹¹
µÚʮՠ ²Ù×÷½çÃæÓë²Ù×÷Âß¼­
µÚʮһÕ  ÃæÏò¶ÔÏóÊý¾Ý¿â»ù´¡
 ¿Õ ......

Îò͸delphi µÚ¾ÅÕ ¶à²ãÌåϵ½á¹¹

µÚÒ»Õ  DELPHIµÄÔ­×ÓÊÀ½ç
µÚ¶þÕ  DELPHIÓëWIN32ʱ¿Õ
µÚÈýÕ  ¶àÏß³Ì
µÚËÄÕ  ½Ó¿Ú
µÚÎåÕ  °ü
µÚÁùÕ  ʼþÓëÏûÏ¢
µÚÆßÕ  ×éÖ¯ÄãµÄÄ£¿é
µÚ°ËÕ  ̽Ë÷Êý¾Ý¿â
µÚ¾ÅÕ  ¶à²ãÌåϵ½á¹¹
µÚʮՠ ²Ù×÷½çÃæÓë²Ù×÷Âß¼­
µÚʮһÕ  ÃæÏò¶ÔÏóÊý¾Ý¿â»ù´¡
 ¿Õ ......

delphi 2010 fastMM ÄÚ´æÐ¹Â¶Ê¹Ó÷½·¨

Delphi2010¼¯³ÉÁËfastMM£¬Õâ»Ø´ó¼Òµ÷ÊÔ³ÌÐòÊǵÄʱºò¿ÉÒÔ·½±ãµØ¼ì²éÄÚ´æÐ¹Â¶ÁË¡£
ʹÓ÷½·¨ÈçÏ£º
ÔÚprojectÖУ¬Ìí¼ÓÒ»ÐÐ ReportMemoryLeaksOnShutdown := DebugHook<>0;
DebugHook<>0 Ä¿µÄÊDZ£Ö¤µ¥¶ÀÔËÐÐexeÎļþ²»»áµ¯³öÄÚ´æÐ¹Â¶¿ò£¬Ô´Âë¿ÉÒÔ²»ÓÃ×¢Ê͵ô´ËÐÐ
program Project1;
uses
  Forms,
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ