Hirdetés
Új hozzászólás Aktív témák
-
vz12
tag
válasz
Tomi_78 #2134 üzenetére
Nos, nem nagyon értek hozzá, de nem gondolnám, hogy csupán property-k állítgatásával újraÉPÍTI (konvertálja) a kép tartalmát, ezért menthette az eredeti képet. A property-k a vizualitásra hatással lehetnek, de BELÜL a kép szerintem NEM változik.
Ezen link alapján (ott "
procedure TForm1.Button2Click(Sender: TObject);
") írtam egy egyszerű működő példát Delphi-ben, még a képernyőn sem jelenítettem meg semmit (a gombon kívül), csak gombnyomásra legyártja egy kép kicsinyített mását a méretarány megtartásával.
1280x905 helyett 100x71 pixel.
672 Kb helyett 5 Kb.
Ja, a példa JPG-vel dolgozik, tehát JPG-ből JPG-t csinál (a köztes állapot BMP).
Ha fontos a PNG, azt Te nyomozd ki.procedure TForm1.Button1Click(Sender: TObject);
var Source: TJPEGImage; Dest,Temp: TBitmap;
begin
Source:=TJpegImage.Create;
try
Dest:=TBitmap.Create;
try
Temp:=TBitmap.Create;
try
Source.LoadFromFile('VALAMI.JPG');
Source.DIBNeeded;
Dest.Assign(Source);
Temp.width:=100;
Temp.height:=Round(Source.height*(Temp.width/Source.width));
Temp.Canvas.StretchDraw(Rect(0,0,Temp.width,Temp.height), Dest);
Source.Assign(Temp);
Source.SaveToFile('PROBA.JPG');
finally
Temp.Free;
end;
finally
Dest.Free;
end;
finally
Source.Free;
end;
end;
A "Temp.SetSize()" nálam nem működött, azért változtattam meg.
Olyan sok képformátumot NEM kezel a Delphi/Lazarus, tehát egy "általános" képkonvertáló program írására a fenti egyszerű módszerrel nem lehet messzire jutni.
Kép méretezésre jó lehet JPG, BMP esetén.
Új hozzászólás Aktív témák
- 2 TB-os Kingston NV3 M.2 SSD - 6000 MB/s olvasás
- Bomba ár! Lenovo ThinkPad T450 - i5-5GEN I 8GB I 240SSD I 14" HD+ I Cam I W10 I Garancia!
- GYÖNYÖRŰ iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3351
- 10magos! Fémvázas! HP EliteBook 860 G9 i7-1255U 16GB 512GB 16" FHD+
- Eladó szép állapotú Samsung S10+ 8/128GB / 12 hó jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest