ͼÏñµÄÖÐÖµÂ˲¨£¬¾ÍÊÇÔÚÒÔijһÏñËØÎªÖÐÐĵÄn½×ÏñËØ¾ØÕóÖУ¬ÕÒ³öR¡¢G¡¢B¸÷·ÖÁ¿µÄÖмäÖµÀ´·Ö±ðÌæ´ú¸ÃÏñËØµÄRGBÖµ£¬´Ó¶ø´ïµ½¶ÔͼÏñÔëÉùÂ˲¨µÄÄ¿µÄ¡£ÕâÀïµÄÖмäÖµ²¢·ÇÏñËØ¾ØÕóR¡¢G¡¢B¸÷·ÖÁ¿µÄµÄËãÊõƽ¾ùÖµ£¬¶øÊÇÏñËØ¾ØÕóR¡¢G¡¢B¸÷·ÖÁ¿ÅÅÐòºóµÄÖÐλÊýÖµ¡£
ÏÂÃæÊÇDelphiͼÏñÖÐÖµÂ˲¨µÄʵÏÖ´úÂ룺
¹ý³Ì¶¨Ò壺
// ÖÐÖµÂ˲¨¡£SizeÓ¦ÎªÆæÊý
procedure ImageMedianValues(Data: TImageData; Size: LongWord);
ʵÏÖ´úÂ룺
procedure ImageMedianValues(Data: TImageData; Size: LongWord);
var
matrixOffset, srcOffset, dstOffset: LongWord;
Width, Height: LongWord;
mSize, Count: LongWord;
src: TImageData;
Top, Last, Median: PLongWord;
Colors: array of LongWord;
procedure AssortValue;
asm
mov ah, [esi]
mov al, [esi + 4]
mov dl, [esi + 8]
cmp ah, al
jae @@1
xchg ah, al
@@1:
cmp ah, dl
jae @@2
xchg ah, dl
@@2:
cmp al, dl
jbe @@3
xchg al, dl
@@3:
mov ......
Delphi2010¼¯³ÉÁËfastMM£¬Õâ»Ø´ó¼Òµ÷ÊÔ³ÌÐòÊǵÄʱºò¿ÉÒÔ·½±ãµØ¼ì²éÄÚ´æÐ¹Â¶ÁË¡£
ʹÓ÷½·¨ÈçÏ£º
ÔÚprojectÖУ¬Ìí¼ÓÒ»ÐÐ ReportMemoryLeaksOnShutdown := DebugHook<>0;
DebugHook<>0 Ä¿µÄÊDZ£Ö¤µ¥¶ÀÔËÐÐexeÎļþ²»»áµ¯³öÄÚ´æÐ¹Â¶¿ò£¬Ô´Âë¿ÉÒÔ²»ÓÃ×¢Ê͵ô´ËÐÐ
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' { Form1 } ;
{$R *.res}
begin
ReportMemoryLeaksOnShutdown := DebugHook<>0;
Application.Initialize;
Application.MainFormOnTaskbar := true;
Application.CreateForm(TForm1, Form1);
Application.Run;
end. ......
±¾ÎĵÄÏßÐÔÁÁ¶È/¶Ô±È¶Èµ÷Õû·½·¨ÊÇÔÚ¡¶¸Ä½øµÄͼÏñÏßÐÔÁÁ¶Èµ÷Õû·½·¨¡·Ò»ÎÄÖÐÏßÐÔÁÁ¶Èµ÷Õû·½·¨Óë¡¶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 ec ......
±¾ÎÄÊÇ»ùÓÚ¡¶GDI+ÔÚDelphi³ÌÐòµÄÓ¦Óà – PhotoshopÉ«Ïà/±¥ºÍ¶È/Ã÷¶È¹¦ÄÜ¡·Ò»ÎĵÄBASMʵÓÃÐÔ¹ý³Ì£¬ÓйØÊµÏÖÔÀí¿É²Î¼û¡¶GDI+ ÔÚDelphi³ÌÐòµÄÓ¦Óà -- ͼÏñ±¥ºÍ¶Èµ÷Õû¡·ºÍ¡¶GDI+ ÔÚDelphi³ÌÐòµÄÓ¦Óà -- ·ÂPhotoshopµÄÃ÷¶Èµ÷Õû¡·£¬´¿PASʵÏÖ´úÂëºÍ²âÊÔÀý×Ó´úÂë¼û¡¶GDI+ÔÚDelphi³ÌÐòµÄÓ¦Óà – PhotoshopÉ«Ïà/±¥ºÍ¶È/Ã÷¶È¹¦ÄÜ¡·¡£
¹ý³Ì¶¨Ò壺
// µ÷ÕûÉ«Ïà/±¥ºÍ¶È/Ã÷¶È
procedure ImageHSBAdjustment(Data: TImageData; hValue, sValue, bValue: Integer);
ʵÏÖ´úÂ룺
procedure _SetBrightness(Data: TImageData; Value: Integer);
asm
push esi
push edi
push ebx
sar edx, 1 // Value /= 2
movd mm5, edx
punpcklwd mm5, mm5
punpcklwd mm5, mm5
pcmpeqb mm6, mm6
psrlw mm6, 8 // mm4 = 00 FF 00 FF 00 FF 00 FF
pxor mm7, mm7
push edx
call SetDataReg32
pop esi
@yLoop:
push ecx
@xLoop:
mov al, [edi + 3]
movd mm0, [edi]
punpcklbw mm0, mm7
......
µ±È»Óû§ÒªÏëͨ¹ýÊý¾Ýä¯ÀÀ²¿¼þ±à¼ÐÞ¸ÄÊý¾Ý¿â±íÖеļǼ×Ö¶Îʱ£¬»¹ÒªÊܵ½ÆäËüÒòËØµÄÖÆÔ¼¡£³ýÁËÊý¾Ýä¯ÀÀ²¿¼þ±¾ÉíµÄReadOnlyÊôÐÔÉèÖÃΪFalseÍ⣬»¹ÒªÉèÖÃÆäÏàÓ¦µÄ×ֶβ¿¼þºÍÊý¾Ý¼¯²¿¼þµÄCanModifyÊôÐÔTrueÐÔ£»ÉèÖÃTDataSource²¿¼þµÄAutoEditÊôÐÔΪTrue£¬Èç¹ûÊý¾Ý¿â±íÊÇSQLÊý¾Ý¿â·þÎñÆ÷ÖеÄÊý¾Ý¿â±í£¬Óû§±ØÐëÒª¾ßÓжÁдÊý¾Ý¿âµÄȨÏ޵ȡ£µ±È»ÔÚʵ¼ÊµÄ³ÌÐòÉè¼Æ¹ý³ÌÖв¢Ã»ÓÐÕâÑù·±Ëö£¬ÒòΪºÜ¶àÊôÐÔµÄȱʡֵ¶¼ÊÇÔÊÐíÓû§Ð޸ıíÖеļǼµÄ¡£
TDBGrid ±í TDBGrid²¿¼þµÄOptionsÊôÐÔÖеÄÀ©Õ¹ÊôÐÔÏî
dbEditing True: ȱʡÇé¿öÏÂΪ´ËÖµ£¬È·±£Óû§Äܹ»ÔÚÍø¸ñÖб༲å
ÈëºÍɾ³ýÊý¾Ý¿â±íÖеļǼ
False:ÔÚÍø¸ñÖв»Äܱ༡¢²åÈëºÍɾ³ý±íÖеļǼ
©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤
dbAlwaysShow True: µ±Óû§Ñ¡ÖмǼÖеÄÒ»¸ö×Ö¶Îʱ£¬×Ô¶¯µØÊ¹¸Ã×Ö¶Î
Editor ´¦ÓÚ±à¼×´Ì¬
False:ȱʡÇé¿öÏÂΪ´ËÖµ¡£µ±Ò»¸ö×ֶα»Ñ¡ÖУ¬Ëü²»ÄÜ
×Ô¶¯µØ±ä³É±à¼×´Ì¬
ÔÚÊý¾Ýä¯ÀÀ²¿¼þÖÐÓÐËĸö²¿¼þÀàËÆÓÚ±ê×¼²¿¼þÖеÄÁбí¿òºÍ×éºÏ¿ò£¬ÕâЩÁбí¿òºÍ×éºÏ¿òÖ÷ÒªÊÇÔÚÊý¾Ý¿âÓ¦ÓóÌÐòÖÐΪÓû§ÌṩһϵÁеĿÉÑ¡ÔñµÄ×Ö¶ÎÖµ¡£×¢ÒâÕâЩ²¿¼þÖ» ......
Python , Delphi , Loki Èý¸öµ¥´ÊÓÐȤµÄÀ´Ô´
Ðí¶à³ÌÐòÉè¼ÆÓïÑԺͿª·¢¹¤¾ßÒÔ¼°¿âµÄÃû×Ö¶¼À´Ô´ÓëÉñ»°£¬ÆÄÓÐÒâ˼£º
°¢²¨ÂÞÊÇͬʱ³öÏÖÔÚÏ£À°ºÍÂÞÂíÉñ»°ÖеİÂÁÖÅÁ˹ʮ¶þ´óÉñÖ®Ò»¡£Ëû³ýÁËÓµÓÐÌ«ÑôÉñµÄÉí·Ö£¬Í¬Ê±»¹ÓÐÔ¤ÑÔ¡¢ÒÕÊõ¡¢Ò½ÊõÖ®ÉñµÄ³ÆºÅ¡£°¢²¨ÂÞÊÇÖæË¹ºÍÀÖ¶äµÄ¶ù×Ó£¬ºÍ°¢µÙÃÛ˹ÊÇË«°ûÌ¥ÐÖÃá£
¡¡¡¡°¢²¨ÂÞ³öÉú¼¸Ììºó±ã³¤´ó³ÉÈË¡£ÎªÁËѰÕÒÔ¤ÑÔµÄÊ¥µØ£¬ËûÌØµØÇ°ÍùµÂ¶ûì³£¨Delphi
£©¡£Â·Í¾ÖУ¬ËûÏȵ½´ï¹þÀûÑǶà˹£¬Ô±¾´òË㽫ÄþܽÏÉ×ÓÌ©¶ûÆÕɳ£¨Thelpusa£©ËùÔÚµÄˮȪ©¤©¤Ò»¸öÓµÓÐÔ¤ÑÔÄÜÁ¦µÄˮȪ©¤©¤Á¢ÎªÊ¥µØ£¬µ«ÊÇÌ©¶ûÆÕÉ³ÍÆ¼ö£¬µÂ¶ûì³Ó¦¸Ã¸üÊʺϰ¢²¨ÂÞ¡£ÊÂʵÉÏÌ©¶ûÆÕɳÊDz»Ï£Íû×Ô¼ºµÄÊ¥µØ±»¶á×ߣ¬Ã÷Ã÷ÖªµÀµÂ¶ûì³ÊÇÒ»Ö»ÓµÓÐÔ¤ÑÔÄÜÁ¦µÄĸ¾Þòþ±ÏËÌ£¨Python
£©µÄµØÅÌ£¬»¹¹ÊÒâÈ𢲨ÂÞµ½µÂ¶ûì³È¥¡£
µ±È»pythonÓïÑԵĿª·¢ÕßÊÇϲ»¶Ò»¸ö½ÐpythonµÄÂíÏ·ÍŲŸø×Ô¼ºµÄ½Å±¾ÓïÑÔÆðÃûµÄ£¬µ«PythonÕâ¸öµ¥´ÊµÄ³ö´¦Ó¦¸ÃÊÇÔÚ´Ë¡£
ÖÁÓÚc++ÖеÄLoki¿â£º
LokiΪ±±Å·Éñ»°ÖеĻðÉñ£¬Ò²ÊÇа¶ñÓëÔÖÄÑÖ®Éñ¡£ËäΪ¾ÞÈË×åÖ®×ÓÈ´ÓÐ×ÅÓ뱱ŷÖÚÉñÒ»ÑùµÄÉñ×åµØÎ»£¬µ«×îÖÕÓëÖîÉñ¶ÔÁ¢²¢Òý·¢ÁË×îÖÕÕ½ÕùRagnarok——ÖîÉñÖ®» ......
Python , Delphi , Loki Èý¸öµ¥´ÊÓÐȤµÄÀ´Ô´
Ðí¶à³ÌÐòÉè¼ÆÓïÑԺͿª·¢¹¤¾ßÒÔ¼°¿âµÄÃû×Ö¶¼À´Ô´ÓëÉñ»°£¬ÆÄÓÐÒâ˼£º
°¢²¨ÂÞÊÇͬʱ³öÏÖÔÚÏ£À°ºÍÂÞÂíÉñ»°ÖеİÂÁÖÅÁ˹ʮ¶þ´óÉñÖ®Ò»¡£Ëû³ýÁËÓµÓÐÌ«ÑôÉñµÄÉí·Ö£¬Í¬Ê±»¹ÓÐÔ¤ÑÔ¡¢ÒÕÊõ¡¢Ò½ÊõÖ®ÉñµÄ³ÆºÅ¡£°¢²¨ÂÞÊÇÖæË¹ºÍÀÖ¶äµÄ¶ù×Ó£¬ºÍ°¢µÙÃÛ˹ÊÇË«°ûÌ¥ÐÖÃá£
¡¡¡¡°¢²¨ÂÞ³öÉú¼¸Ììºó±ã³¤´ó³ÉÈË¡£ÎªÁËѰÕÒÔ¤ÑÔµÄÊ¥µØ£¬ËûÌØµØÇ°ÍùµÂ¶ûì³£¨Delphi
£©¡£Â·Í¾ÖУ¬ËûÏȵ½´ï¹þÀûÑǶà˹£¬Ô±¾´òË㽫ÄþܽÏÉ×ÓÌ©¶ûÆÕɳ£¨Thelpusa£©ËùÔÚµÄˮȪ©¤©¤Ò»¸öÓµÓÐÔ¤ÑÔÄÜÁ¦µÄˮȪ©¤©¤Á¢ÎªÊ¥µØ£¬µ«ÊÇÌ©¶ûÆÕÉ³ÍÆ¼ö£¬µÂ¶ûì³Ó¦¸Ã¸üÊʺϰ¢²¨ÂÞ¡£ÊÂʵÉÏÌ©¶ûÆÕɳÊDz»Ï£Íû×Ô¼ºµÄÊ¥µØ±»¶á×ߣ¬Ã÷Ã÷ÖªµÀµÂ¶ûì³ÊÇÒ»Ö»ÓµÓÐÔ¤ÑÔÄÜÁ¦µÄĸ¾Þòþ±ÏËÌ£¨Python
£©µÄµØÅÌ£¬»¹¹ÊÒâÈ𢲨ÂÞµ½µÂ¶ûì³È¥¡£
µ±È»pythonÓïÑԵĿª·¢ÕßÊÇϲ»¶Ò»¸ö½ÐpythonµÄÂíÏ·ÍŲŸø×Ô¼ºµÄ½Å±¾ÓïÑÔÆðÃûµÄ£¬µ«PythonÕâ¸öµ¥´ÊµÄ³ö´¦Ó¦¸ÃÊÇÔÚ´Ë¡£
ÖÁÓÚc++ÖеÄLoki¿â£º
LokiΪ±±Å·Éñ»°ÖеĻðÉñ£¬Ò²ÊÇа¶ñÓëÔÖÄÑÖ®Éñ¡£ËäΪ¾ÞÈË×åÖ®×ÓÈ´ÓÐ×ÅÓ뱱ŷÖÚÉñÒ»ÑùµÄÉñ×åµØÎ»£¬µ«×îÖÕÓëÖîÉñ¶ÔÁ¢²¢Òý·¢ÁË×îÖÕÕ½ÕùRagnarok——ÖîÉñÖ®» ......