Показать сообщение отдельно
  #8  
Старый 13.04.2012, 17:40
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию



PHP код:
type
  PRGB32Array 
= ^TRGB32Array;
  
TRGB32Array packed array[0..MaxInt div SizeOf(TRGBQuad)-1of TRGBQuad;


procedure TForm1.Button1Click(SenderTObject);
var 
s0s1s2srPRGB32Array;
var 
x,y,K:integerctcolor;
begin
  Image1
.Picture.Bitmap.PixelFormat := pf32bit;
  
Image2.Picture.Bitmap.PixelFormat := pf32bit;

  
:= UpDown1.Position;

  
Image2.Picture.Bitmap.Canvas.FillRect(Image2.Picture.Bitmap.Canvas.ClipRect);

  for 
y:=1 to image1.height-do
  
begin
    s0 
:= Image1.Picture.Bitmap.ScanLine[y-1];
    
s1 := Image1.Picture.Bitmap.ScanLine[y];
    
s2 := Image1.Picture.Bitmap.ScanLine[y+1];
    
sr := Image2.Picture.Bitmap.ScanLine[y];
    for 
x:=1 to image1.width-do
    
begin

      sr
[x].rgbRed :=(((-1)*s2[x-1].rgbRed)+
                      ((-
1)*s2[x].rgbRed)+
                      ((-
1)*s2[x+1].rgbRed)+
                      ((-
1)*s1[x-1].rgbRed)+
                      ( (
8)*s1[x].rgbRed)+
                      ((-
1)*s1[x+1].rgbRed)+
                      ((-
1)*s0[x-1].rgbRed)+
                      ((-
1)*s0[x].rgbRed)+
                      ((-
1)*s0[x+1].rgbRed)) div K+128;

       
sr[x].rgbGreen := sr[x].rgbRed;
       
sr[x].rgbBlue := sr[x].rgbRed;   

     
end;
  
end;
end
Ответить с цитированием