Başlangıç > Kodlar > Delphi ile Animated BMP’den istenilen resim parçasını almak

Delphi ile Animated BMP’den istenilen resim parçasını almak



Animated Bmp den istenilen resim parçasını almak

KULLANIMI :
Genel Formu :
ResimAl(başlangıç,bitiş,yükseklik:Integer;DosyaAdı:String;)
Örnek:
var
dosya:String;
begin
dosya:=ExtractFilePath(Application.ExeName)+’anim1.bmp’;
resimal(84,126,42,dosya);
end;

kullanılan resmi 24 bit olamalı

procedure Tform1.resimal(xbas,xson,y:Integer;FileName:String);
type
TRGBTripleArray=Array[0..32768] of TRGBTriple;
pTRGBTriple=^TRGBTripleArray;

var
boyx,i,j:Integer;
bmpsource,bmpdest:TBitmap;
row:pTRGBTriple;
TRGBMatrix:array of array of TRGBTriple;
begin
bmpsource:=TBitmap.Create;
bmpdest:=TBitmap.Create;
try
boyx:=xson-xbas;
SetLength(TRGBMatrix,y+1,boyx+1);
bmpsource.PixelFormat:=pf24bit;
bmpdest.PixelFormat:=pf24bit;
bmpsource.Transparent:=true;
bmpdest.Transparent:=true;
bmpdest.Width:=xson-xbas;
bmpdest.Height:=y;
//ShowMessage(IntToStr(bmpdest.Width)+’X’+IntTostr(bmpdest.Height));
bmpsource.LoadFromFile(FileName);

for j:=0 To bmpsource.Height -1 do //bmp yüksekliği
begin
row:=bmpsource.ScanLine[j];
for i:=0 to bmpsource.Width – 1 do // belirtilen saturları
begin
if (i >= xbas) and (i <= xson) then
begin
try
TRGBMatrix[j,i-xbas]:=row[i];
except
on exception do
exit;
end;//try
end;

end;//for i
end;//for j

//————//

form1.Canvas.Draw(0,0,bmpsource);

for j:=0 To bmpdest.Height-1 do
begin
row:=bmpdest.ScanLine[j];
for i:=0 To bmpdest.Width-1 do
row[i]:=TRGBMatrix[j,i];
end;
form1.Canvas.Draw(0,60,bmpdest);

finally
bmpsource.Free;
bmpdest.Free;
end;//try
end;



TD Software

 

Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: