From 328c133706508f3c454a69700816b35e3bed24cc Mon Sep 17 00:00:00 2001 From: yangjixian Date: Mon, 2 May 2011 16:31:46 +0000 Subject: [PATCH] Just save current work. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1607 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/lazimageeditor/DLBitmap.pas | 1 + applications/lazimageeditor/DLBmpUtils.inc | 25 +++- applications/lazimageeditor/bmprgbtypes.pas | 6 +- .../lazimageeditor/lazimageeditor.lpi | 132 +++++++++--------- 4 files changed, 97 insertions(+), 67 deletions(-) diff --git a/applications/lazimageeditor/DLBitmap.pas b/applications/lazimageeditor/DLBitmap.pas index f81aa1f0e..660ec3ca8 100644 --- a/applications/lazimageeditor/DLBitmap.pas +++ b/applications/lazimageeditor/DLBitmap.pas @@ -139,6 +139,7 @@ operator * (const A, B: TRGBATriple): TRGBATriple; operator div (const A, B: TRGBATriple): TRGBATriple; function DWordTrans(SrcRow: TRGBATriple): DWORD; function DWordToTriple(SrcRow: DWORD): TRGBATriple; +procedure StretchLinear(Dest, Src: TDLBitmap); implementation diff --git a/applications/lazimageeditor/DLBmpUtils.inc b/applications/lazimageeditor/DLBmpUtils.inc index ce1aafe45..80694f145 100644 --- a/applications/lazimageeditor/DLBmpUtils.inc +++ b/applications/lazimageeditor/DLBmpUtils.inc @@ -614,7 +614,7 @@ begin aBitmap.InvalidateScanLine; end; -procedure StretchLinear(Dest, Src: TDLBitmap); // only for 24bit bitmap +procedure StretchLinear(Dest, Src: TDLBitmap); var sw, sh, dw, dh, B, N, x, y, i, j, k, nPixelSize: DWord; pLinePrev, pLineNext, pDest, pA, pB, pC, pD: pRGBATriple; @@ -672,6 +672,29 @@ begin end; end; end; + Dest.InvalidateScanLine; end; +procedure StretchDLBMP(Src: TDLBitmap; MultiX, MultiY: integer); +var + sw, sh, dw, dh, B, N, x, y, i, j, k, nPixelSize: DWord; + Dest: TDLBitmap; +begin + sw := Src.Width - 1; + sh := Src.Height - 1; + dw := (Src.Width - 1) * MultiX; + dh := (Src.Height - 1) * MultiY; + nPixelSize := 3; + for i := 0 to sh do + begin + for j := 0 to sw do + begin + for k := 0 to nPixelSize - 1 do + begin + + end; + end; + end; + Dest.InvalidateScanLine; +end; diff --git a/applications/lazimageeditor/bmprgbtypes.pas b/applications/lazimageeditor/bmprgbtypes.pas index 76374a9b2..758b52299 100644 --- a/applications/lazimageeditor/bmprgbtypes.pas +++ b/applications/lazimageeditor/bmprgbtypes.pas @@ -599,7 +599,11 @@ procedure TRGBBitmapCore.StretchDrawTo(ACanvas: TCanvas; DstX, DstY, DstWidth, DstHeight: integer); begin if ACanvas <> nil then - ACanvas.StretchDraw(Rect(DstX, DstY, DstWidth, DstHeight), Self); + // ACanvas.StretchDraw(Rect(DstX, DstY, DstWidth, DstHeight), Self); + begin + ACanvas.AntialiasingMode:=amOff; + ACanvas.CopyRect(Rect(DstX, DstY, DstWidth, DstHeight), Self.Canvas, Rect(0,0,Width,Height)); + end; end; { TRGB32BitmapCore } diff --git a/applications/lazimageeditor/lazimageeditor.lpi b/applications/lazimageeditor/lazimageeditor.lpi index 70653a42f..ce97cdc6c 100644 --- a/applications/lazimageeditor/lazimageeditor.lpi +++ b/applications/lazimageeditor/lazimageeditor.lpi @@ -72,7 +72,7 @@ - + @@ -168,10 +168,12 @@ + - - + + + @@ -242,8 +244,8 @@ - - + + @@ -355,9 +357,9 @@ - + - + @@ -389,7 +391,7 @@ - + @@ -430,123 +432,123 @@ - + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - - + + - + - + - + - + - - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + +