Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Skala en bitmap procentuellt
|
Kategori: Grafik
Inlagt: 2005-10-11
Läst: 1359
Inlagt av: Staffan Berg
|
Beskrivning |
Denna funktion skalar ned en bitmapbild efter angivet procentuellt värde.
|
Kod |
{ .... } private function ScalePercentBmp(bitmp: TBitmap; iPercent: Integer): Boolean; { .... } function TForm1.ScalePercentBmp(bitmp: TBitmap; iPercent: Integer): Boolean; var TmpBmp: TBitmap; ARect: TRect; h, w: Real; hi, wi: Integer; begin Result := False; try TmpBmp := TBitmap.Create; try h := bitmp.Height * (iPercent / 100); w := bitmp.Width * (iPercent / 100); hi := StrToInt(FormatFloat('#', h)) + bitmp.Height; wi := StrToInt(FormatFloat('#', w)) + bitmp.Width; TmpBmp.Width := wi; TmpBmp.Height := hi; ARect := Rect(0, 0, wi, hi); TmpBmp.Canvas.StretchDraw(ARect, Bitmp); bitmp.Assign(TmpBmp); finally TmpBmp.Free; end; Result := True; except Result := False; end; end; // Example: procedure TForm1.Button1Click(Sender: TObject); begin ScalePercentBmp(Image1.Picture.Bitmap, 33); end;
|
|
|