Zoom without redundancy dot.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1609 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
yangjixian
2011-05-04 02:40:33 +00:00
parent 9b0d833ee6
commit 973fdb4bf6
4 changed files with 83 additions and 83 deletions

View File

@ -144,7 +144,7 @@ operator div (const A, B: TRGBATriple): TRGBATriple;
function DWordTrans(SrcRow: TRGBATriple): DWORD;
function DWordToTriple(SrcRow: DWORD): TRGBATriple;
procedure StretchLinear(Dest, Src: TDLBitmap);
procedure StretchDLBMP(Src: TDLBitmap; MultiX, MultiY: integer);
procedure StretchDLBMP(ACanvas: TCanvas; Src: TDLBitmap; NewLeft, NewTop, NewWidth, NewHeight: integer);
implementation

View File

@ -675,28 +675,29 @@ begin
Dest.InvalidateScanLine;
end;
procedure StretchDLBMP(Src: TDLBitmap; MultiX, MultiY: integer);
procedure StretchDLBMP(ACanvas: TCanvas; Src: TDLBitmap; NewLeft, NewTop, NewWidth, NewHeight: integer);
var
sw, sh, dw, dh, i, j, k, l, nPixelSize: DWord;
sw, sh, dw, dh, i, j: DWord;
Dest: TDLBitmap;
begin
Dest := TDLBitmap.Create;
sw := Src.Width;
sh := Src.Height;
dw := Src.Width * MultiX;
dh := Src.Height * MultiY;
sw := Max(1, NewWidth div Src.Width);
sh := Max(1, NewHeight div Src.Height);
dw := NewWidth - NewLeft;
dh := NewHeight - NewTop;
Dest.Width := dw;
Dest.Height := dh;
for i := 0 to sh - 1 do
for j := 0 to sw - 1 do
for k := 0 to MultiY - 1 do
for l := 0 to MultiX - 1 do
Dest.Pixels[j * MultiX + k, i * MultiY + l] := Src.Pixels[j, i];
for i := 0 to dh - 1 do
for j := 0 to dw - 1 do
Dest.Pixels[j, i] := Src.Pixels[j div sw, i div sh];
Dest.InvalidateScanLine;
//Src.Assign(Dest);
Src.Width := dw;
Src.Height := dh;
Src.Canvas.Draw(0, 0, Dest);
ACanvas.Draw(NewLeft, NewTop, Dest);
Dest.Free;
end;

View File

@ -598,14 +598,15 @@ end;
procedure TRGBBitmapCore.StretchDrawTo(ACanvas: TCanvas;
DstX, DstY, DstWidth, DstHeight: integer);
begin
if ACanvas <> nil then
// if ACanvas <> nil then
// ACanvas.StretchDraw(Rect(DstX, DstY, DstWidth, DstHeight), Self);
// StretchDLBMP(Self, 3, 3);
begin
StretchDLBMP(ACanvas, Self, DstX, DstY, DstWidth, DstHeight);
{begin
ACanvas.AntialiasingMode:=amOff;
ACanvas.CopyMode:=cmSrcPaint;
ACanvas.CopyRect(Rect(DstX, DstY, DstWidth, DstHeight), Self.Canvas, Rect(0,0,Width,Height));
end;
end; }
end;
{ TRGB32BitmapCore }

View File

@ -49,7 +49,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="14" Y="4"/>
<UsageCount Value="76"/>
<UsageCount Value="77"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
@ -62,7 +62,7 @@
<WindowIndex Value="0"/>
<TopLine Value="801"/>
<CursorPos X="34" Y="812"/>
<UsageCount Value="76"/>
<UsageCount Value="77"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -168,12 +168,10 @@
<Unit12>
<Filename Value="T:\fpclaz\laz\lcl\graphics.pp"/>
<UnitName Value="Graphics"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="386"/>
<CursorPos X="13" Y="411"/>
<TopLine Value="1083"/>
<CursorPos X="15" Y="1098"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit12>
<Unit13>
<Filename Value="picturemanager.pas"/>
@ -242,11 +240,10 @@
<Unit21>
<Filename Value="bmprgbtypes.pas"/>
<UnitName Value="BmpRGBTypes"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="593"/>
<CursorPos X="29" Y="608"/>
<TopLine Value="592"/>
<CursorPos X="27" Y="604"/>
<UsageCount Value="28"/>
<Loaded Value="True"/>
</Unit21>
@ -358,10 +355,10 @@
<Unit35>
<Filename Value="DLBitmap.pas"/>
<UnitName Value="DLBitmap"/>
<EditorIndex Value="4"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="124"/>
<CursorPos X="66" Y="143"/>
<TopLine Value="132"/>
<CursorPos X="42" Y="147"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit35>
@ -391,10 +388,11 @@
</Unit38>
<Unit39>
<Filename Value="DLBmpUtils.inc"/>
<EditorIndex Value="5"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="671"/>
<CursorPos X="28" Y="701"/>
<TopLine Value="673"/>
<CursorPos X="27" Y="687"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit39>
@ -432,123 +430,123 @@
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="626" Column="33" TopLine="616"/>
<Caret Line="536" Column="13" TopLine="516"/>
</Position1>
<Position2>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="620" Column="59" TopLine="606"/>
<Filename Value="DLBitmap.pas"/>
<Caret Line="147" Column="47" TopLine="137"/>
</Position2>
<Position3>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="536" Column="13" TopLine="516"/>
<Caret Line="662" Column="20" TopLine="655"/>
</Position3>
<Position4>
<Filename Value="DLBitmap.pas"/>
<Caret Line="147" Column="47" TopLine="137"/>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="661" Column="34" TopLine="651"/>
</Position4>
<Position5>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="662" Column="20" TopLine="655"/>
<Caret Line="662" Column="30" TopLine="651"/>
</Position5>
<Position6>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="661" Column="34" TopLine="651"/>
<Caret Line="664" Column="35" TopLine="652"/>
</Position6>
<Position7>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="662" Column="30" TopLine="651"/>
<Caret Line="665" Column="26" TopLine="653"/>
</Position7>
<Position8>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="664" Column="35" TopLine="652"/>
<Caret Line="666" Column="40" TopLine="655"/>
</Position8>
<Position9>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="665" Column="26" TopLine="653"/>
<Caret Line="662" Column="18" TopLine="654"/>
</Position9>
<Position10>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="666" Column="40" TopLine="655"/>
<Filename Value="DLBitmap.pas"/>
<Caret Line="184" Column="23" TopLine="167"/>
</Position10>
<Position11>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="662" Column="18" TopLine="654"/>
<Filename Value="DLBitmap.pas"/>
<Caret Line="176" Column="5" TopLine="165"/>
</Position11>
<Position12>
<Filename Value="DLBitmap.pas"/>
<Caret Line="184" Column="23" TopLine="167"/>
<Caret Line="180" Column="16" TopLine="167"/>
</Position12>
<Position13>
<Filename Value="DLBitmap.pas"/>
<Caret Line="176" Column="5" TopLine="165"/>
</Position13>
<Position14>
<Filename Value="DLBitmap.pas"/>
<Caret Line="180" Column="16" TopLine="167"/>
</Position14>
<Position15>
<Filename Value="picturectrls.pas"/>
<Caret Line="443" Column="22" TopLine="430"/>
</Position15>
<Position16>
</Position13>
<Position14>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="131" Column="28" TopLine="120"/>
</Position14>
<Position15>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="603" Column="18" TopLine="589"/>
</Position15>
<Position16>
<Filename Value="picturectrls.pas"/>
<Caret Line="443" Column="23" TopLine="430"/>
</Position16>
<Position17>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="603" Column="18" TopLine="589"/>
<Caret Line="131" Column="28" TopLine="116"/>
</Position17>
<Position18>
<Filename Value="picturectrls.pas"/>
<Caret Line="443" Column="23" TopLine="430"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="603" Column="27" TopLine="585"/>
</Position18>
<Position19>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="131" Column="28" TopLine="116"/>
<Filename Value="DLBitmap.pas"/>
<Caret Line="232" Column="14" TopLine="218"/>
</Position19>
<Position20>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="603" Column="27" TopLine="585"/>
<Caret Line="603" Column="17" TopLine="588"/>
</Position20>
<Position21>
<Filename Value="DLBitmap.pas"/>
<Caret Line="232" Column="14" TopLine="218"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="16" TopLine="588"/>
</Position21>
<Position22>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="603" Column="17" TopLine="588"/>
<Caret Line="606" Column="16" TopLine="588"/>
</Position22>
<Position23>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="16" TopLine="588"/>
<Caret Line="606" Column="17" TopLine="588"/>
</Position23>
<Position24>
<Filename Value="T:\fpclaz\laz\lcl\graphics.pp"/>
<Caret Line="1158" Column="28" TopLine="1143"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="28" TopLine="591"/>
</Position24>
<Position25>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="16" TopLine="588"/>
<Caret Line="608" Column="63" TopLine="593"/>
</Position25>
<Position26>
<Filename Value="T:\fpclaz\laz\lcl\graphics.pp"/>
<Caret Line="1158" Column="27" TopLine="1143"/>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="692" Column="57" TopLine="670"/>
</Position26>
<Position27>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="17" TopLine="588"/>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="678" Column="15" TopLine="663"/>
</Position27>
<Position28>
<Filename Value="T:\fpclaz\laz\lcl\graphics.pp"/>
<Caret Line="1158" Column="75" TopLine="1143"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="602" Column="22" TopLine="593"/>
</Position28>
<Position29>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="606" Column="28" TopLine="591"/>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="698" Column="7" TopLine="670"/>
</Position29>
<Position30>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="608" Column="63" TopLine="593"/>
<Filename Value="DLBmpUtils.inc"/>
<Caret Line="678" Column="18" TopLine="670"/>
</Position30>
</JumpHistory>
</ProjectOptions>