DelphiͼÏñ´¦ÀíÖÐScanLineµÄʹÓÃ
Ò»°ãÎÒÃÇÔÚDelphiÖнøÐÐͼÏñ´¦Àíʱ²ÉÓÃPixelsÏñËØµã¸³ÖµµÄ·½·¨£¬Delphi´úÂëÈçÏ£º
var
x,y:Integer;
cColor:TColor;
begin
for y:=0 to Image1.Height-1 do
for x:=0 to Image1.Width-1 do
cColor:=Image1.Canvas.Pixels[i,j];
end;
µ«ÊÇÕâÖÖ·½·¨Óиöȱµã£¬´¦ÀíËٶȺÜÂý£¬Ð¡Í¼Ïñ»¹¿ÉÒÔ£¬¶ÔÓÚ´óµãµÄͼÏñÀ´Ëµ¾ÍÌ«ÂýÁË¡£
DelphiÌṩÁËÒ»ÖÖɨÃèÏßScanLine·½·¨ÊǶÔͼÏñµÄÒ»ÐнøÐÐɨÃ裬»ñÈ¡±¾ÐÐÖи÷ÏñËØµÄÄÚ´æµØÖ·¡£ÖÚËùÖÜÖª£¬ÄÚ´æ²Ù×÷¿Ï¶¨»á±È³£¹æµÄÏñËØµã¸³ÖµËÙ¶È¿ìºÜ¶à£¬ËùÒÔ½«´ó´óÌá¸ßͼÏñµÄ´¦ÀíËÙ¶È¡£
Delphi´úÂëÈçÏ£º
var
P:array[0..100] of PByteArray;//ÏñËØÊý×é
y:Integer;
begin
for y:=0 to Bmp.Height-1 do
begin
P[y]:=Bmp.ScanLine[y];//½«Í¼Æ¬ËùÓÐÏñËØÖµ´æÈëP
end;
end;
ÕâÑù¾Í½«Ò»¸öͼÏñµÄËùÓÐÏñËØ¶¼´æÈëÁËPÕâ¸öÊý×é
ÔÚSysUtilsµ¥ÔªÖпÉÒÔ¿´³öPByteArrayʵ¼ÊÉÏÊÇÒ»¸öByteÀàÐ͵ÄÊý×é
ËùÒÔÎÒÃÇÉùÃ÷µÄP:array[0..100] of PByteArray;ʵ¼ÊÉÏ¿ÉÒÔ¿´³ÉÊÇÒ»¸ö¶þάÊý×é
PÊý×é¾ÍÊÇÒ»¸öͼÏñÏñËØµÄ»º³åÇø£¬ËüµÄһάÊÇͼÏñY×ø±ê£¬¶þάÊÇͼÏñµÄX×ø±ê¡£
ÕâÑù£¬Èç¹ûÎÒÃÇÒª¶ÔͼÏñµÄij¸öÏñËØ¸³Öµ£¬ÀýÈ罫µÚÒ»ÐС¢µÚ¶þÁеÄÏñËØ¸³ÖµÎª°×É«£¬¿ÉÓÃÏÂÃæµÄDelphi´úÂë
var
P:array[0..100] of PByteArray;//ÏñËØÊý×é
x,y:Integer;
begin
for y:=0 to Bmp.Height-1 do
begin
P[y]:=Bmp.ScanLine[y];//½«Í¼Æ¬ËùÓÐÏñËØÖµ´æÈëP
end;
y:=0;//µÚÒ»ÐÐ
x:=1;//µÚ¶þÁÐ
P[y][x*3]:=255;//ÏñËØµÄµÚÒ»×Ö½Ú
P[y][x*3+1]:=255;//ÏñËØµÄµÚ¶þ×Ö½Ú
P[y][x*3+2]:=255;//ÏñËØµÄµÚÈý×Ö½Ú
end;
ÉÏÃæµÄ´úÂëÖУ¬ÎÒÃÇʹÓõÄͼÏñÊÇ24λɫµÄ(TPixelFormat:=pf24bit)£¬Ò²¾ÍÊÇÒ»ÕÅÕæ²ÊÉ«µÄͼƬ£¬pf24bitµÄͼÏñÖУ¬Ã¿¸öÏñËØÔÚÄÚ´æÖÐÕ¼ÓÃÈý¸ö×Ö½Ú£¬·Ö±ð±íʾRGBÖµµÄ·ÖÁ¿£¬ËùÒÔÎÒÃÇ¿ÉÒÔ¶ÔÈý¸ö×Ö½ÚÖ±½Ó¸³Öµ
ÔÚÆäËüÀàÐ͵ÄͼÏñÖоͲ»Ò»¶¨ÄÜÕâÑù¸³ÖµÁË
TPixelFormat:=pf1bitµÄͼÏñ(µ¥É«Í¼)ÖÐÿÏñËØÓÃ1λÀ´±íʾ£¬ËùÒÔҪʹÓÃλ²Ù×÷À´¸øÏñËØ¸³Öµ
TPixelFormat:=pf4bitµÄͼÏñÖÐÿÏñËØÓÃ4λÀ´±íʾ£¬Ò²ÒªÊ¹ÓÃλ²Ù×÷À´¸øÏñËØ¸³Öµ
TPixelFormat:=pf8bitµÄͼÏñÖÐÿÏñËØÓÃ8λÀ´±íʾ£¬¿ÉÒÔʹÓÃByteÀàÐ͵ÄÖµ¸øÏñËØ¸³Öµ£¬²»¹ýÕâÀàͼÏñ±È½
Ïà¹ØÎĵµ£º
Ï̵߳Ļù´¡ÖªÊ¶
Ï̵߳Ä×é³É¡£Ïß³ÌÓÐÁ½²¿·Ö×é³É¡£
1¡¢Ò»¸öÊÇÏ̵߳ÄÄں˶ÔÏ󣬲Ù×÷ϵͳÓÃËüÀ´¶ÔÏß³Ìʵʩ¹ÜÀí¡£Äں˶ÔÏóÒ²ÊÇϵͳÓÃÀ´´æ·ÅÏß³Ìͳ¼ÆÐÅÏ¢µÄµØ·½¡£
2¡¢ÁíÒ»¸öÊÇÏ̶߳ÑÕ»£¬ËüÓÃÓÚά»¤Ïß³ÌÔÚÖ´ÐдúÂëʱÐèÒªµÄËùÓк¯Êý²ÎÊýºÍ¾Ö² ......
Client:TSocketConnection ºÍServer: Scktsrvr¹ØÏµ----ѹËõÊý¾Ý´«Êä
Ò»Ö±ÓÃSocketConnectionºÍ·þÎñ¶ËµÄ´«ÊäÊý¾ÝÔÚÈý²ãÊý¾Ý¿âÖУ¬´ÓÀ´Ã»ÓÐ×¢Òâµ½ËüÃÇÖ®¼äµÄÊý¾Ý´«Ê䣬ֻÊÇÏë×Å£¬¹ÜËüÁË£¬ÍøÂçµÄÊ£¬Ç°¶Îʱ¼äÔÚDelphiÖеÄDemosÖз¢ÏÖDemos\Midas\Intrcpt.dprÀý×Ó£¬ºÇºÇ£¬ÔÙ¿´Á˰ëÌìµÄVCL·¢ÏÖ¿ÉÒÔ½«Client¶Ë·¢Ë͵ĸøServerµÄÊ ......
×¢£º ʹÓôíÎ󣬻òÕßÔڸüӵĵط½Ã»Óмӣ¬¿ÉÄÜ»á³öÏÖ"privileged instruction"´íÎ󣬻òÕßµØÖ··ÃÎÊ´íÎó¡£
³£¼ûµÄµ÷ÓùßÀýÓÐregister, pascal, cdecl, stdcall, safecall¡£º¯ÊýµÄµ÷ÓùÜÀí¾ö¶¨Á˲ÎÊýÈçºÎ´«µÝ¸ø×Ó¹ý³Ì£¬²¢´Ó¶ÑÕ»ÖÐÍ˳ö£¬ÒÔ¼°¼Ä´æÆ÷ÔÚ²ÎÊý´«µÝÖеÄʹÓ㬴íÎóºÍÒì³£µÄ´¦Àí¡£DelphiÖÐĬÈϵĵ ......
¿ª·¢²½Ö裺
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
2¡¢´´½¨COM Object¡£
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåÈçÏ£º
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
new|other|activeX|activeX library
Delphi»á×Ô¶¯Éú³É¿ò¼Ü´úÂ룬ֱ½Ó±àÒëµÄ»°¾Í¿ÉÒԵõ½Ò»¸ödllÎļþÁË£»
Èç¹ûÏë±àÒë³öÀ´µÄÊÇocxÎÄ ......
¿ª·¢²½Ö裺
1¡¢´´½¨ActiveX Library¹¤³Ì¡£
2¡¢´´½¨COM Object¡£
3¡¢´´½¨Type Library£¬²¢´´½¨ÏàÓ¦½Ó¿Ú¡£
4¡¢´´½¨½Ó¿Ú¶ÔÓ¦µÄº¯ÊýºÍʵÏÖ¡£
¾ßÌåÈçÏ£º
1¡¢´´½¨COM Object¡£
new|other|activeX|com object
ÔÚClass Name(±¾ÀýÀïÀàÃûÀïÌîObject£¬¿É°´×Ô¼ºÐèÒªÌîд) ÌîдÀàÃû.(Instancing:ʵÀý´´½¨·½Ê½,Threading Model:Ï ......