Quantcast
Channel: Delphi Forum - Delphi Programming Kings of Code - All Forums
Viewing all articles
Browse latest Browse all 3619

dbField image resize (correctly)

$
0
0
// If you want to control the maximum image size for a field and if necessary be smoothly resized
// YOU NEED DevExpressVCL for the TdxSmartImage unit
// I use this routine in the BeforePost DataSet event
Code:
procedure ResizeFieldImage(fldField:TField;nWidth,nHeight:integer);
var
   oImage:TdxSmartImage;
   nW,nH: integer;
begin
     oImage:=TdxSmartImage.Create;
     oImage.LoadFromFieldValue(fldField.Value);
     if (oImage.Width>nWidth) or (oImage.Height>nHeight) then
        begin
           if oImage.Width > oImage.Height then
              begin
                 nW := nWidth;
                 nH := (nWidth * oImage.Height) div oImage.Width;
              end
           else
               begin
                 nH := nHeight;
                 nW := (nHeight * oImage.Width) div oImage.Height;
               end;
           oImage.Resize(nW,nH);
           TBlobField(fldField).Assign(oImage.GetAsBitmap);
       end;
     oImage.Free;
end;
// I hope you enjoy it!

Sample:

Viewing all articles
Browse latest Browse all 3619

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>