Pen draw dot by one click now.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1572 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
yangjixian
2011-04-17 13:11:31 +00:00
parent b9d1e06a6b
commit 1fbbb773f9
6 changed files with 79 additions and 66 deletions

View File

@ -331,9 +331,9 @@ begin
for j := 0 to ABitmap.Width - 1 do for j := 0 to ABitmap.Width - 1 do
begin begin
LNew := LScan[j]; LNew := LScan[j];
LScan[j].rgbtBlue := LScan[j].rgbtBlue * Value div 100; //Value; //LNew.rgbtBlue; LScan[j].rgbtBlue := LScan[j].rgbtBlue * Value div 100;
LScan[j].rgbtGreen := LScan[j].rgbtGreen * Value div 100; //LNew.rgbtGreen; LScan[j].rgbtGreen := LScan[j].rgbtGreen * Value div 100;
LScan[j].rgbtRed := LScan[j].rgbtRed * Value div 100; //LNew.rgbtRed; LScan[j].rgbtRed := LScan[j].rgbtRed * Value div 100;
end; end;
end; end;
ABitmap.InvalidateScanLine; ABitmap.InvalidateScanLine;

View File

@ -41,7 +41,7 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item3> </Item3>
</RequiredPackages> </RequiredPackages>
<Units Count="35"> <Units Count="36">
<Unit0> <Unit0>
<Filename Value="lazimageeditor.pas"/> <Filename Value="lazimageeditor.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -60,8 +60,8 @@
<UnitName Value="Main"/> <UnitName Value="Main"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1030"/> <TopLine Value="789"/>
<CursorPos X="15" Y="1051"/> <CursorPos X="15" Y="821"/>
<UsageCount Value="61"/> <UsageCount Value="61"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -69,10 +69,11 @@
<Unit2> <Unit2>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<UnitName Value="PictureCtrls"/> <UnitName Value="PictureCtrls"/>
<EditorIndex Value="2"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="896"/> <TopLine Value="832"/>
<CursorPos X="86" Y="924"/> <CursorPos X="53" Y="850"/>
<UsageCount Value="27"/> <UsageCount Value="27"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit2> </Unit2>
@ -176,11 +177,10 @@
<Unit13> <Unit13>
<Filename Value="picturemanager.pas"/> <Filename Value="picturemanager.pas"/>
<UnitName Value="PictureManager"/> <UnitName Value="PictureManager"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="14"/> <TopLine Value="188"/>
<CursorPos X="32" Y="34"/> <CursorPos X="62" Y="103"/>
<UsageCount Value="28"/> <UsageCount Value="28"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit13> </Unit13>
@ -243,7 +243,7 @@
<Unit21> <Unit21>
<Filename Value="bmprgbtypes.pas"/> <Filename Value="bmprgbtypes.pas"/>
<UnitName Value="BmpRGBTypes"/> <UnitName Value="BmpRGBTypes"/>
<EditorIndex Value="4"/> <EditorIndex Value="5"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="23"/> <TopLine Value="23"/>
<CursorPos X="24" Y="44"/> <CursorPos X="24" Y="44"/>
@ -276,7 +276,7 @@
<Unit25> <Unit25>
<Filename Value="bmprgbutils.pas"/> <Filename Value="bmprgbutils.pas"/>
<UnitName Value="BmpRGBUtils"/> <UnitName Value="BmpRGBUtils"/>
<EditorIndex Value="3"/> <EditorIndex Value="4"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="34"/> <TopLine Value="34"/>
<CursorPos X="72" Y="5"/> <CursorPos X="72" Y="5"/>
@ -302,7 +302,7 @@
<Unit28> <Unit28>
<Filename Value="bmprgbgraph.pas"/> <Filename Value="bmprgbgraph.pas"/>
<UnitName Value="BmpRGBGraph"/> <UnitName Value="BmpRGBGraph"/>
<EditorIndex Value="5"/> <EditorIndex Value="6"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="47"/> <TopLine Value="47"/>
<CursorPos X="59" Y="66"/> <CursorPos X="59" Y="66"/>
@ -359,127 +359,137 @@
<CursorPos X="28" Y="237"/> <CursorPos X="28" Y="237"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit34> </Unit34>
<Unit35>
<Filename Value="DLBitmap.pas"/>
<UnitName Value="DLBitmap"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="631"/>
<CursorPos X="61" Y="336"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit35>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="117" Column="51" TopLine="85"/> <Caret Line="471" Column="13" TopLine="439"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="124" Column="10" TopLine="92"/> <Caret Line="478" Column="13" TopLine="446"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="125" Column="10" TopLine="93"/> <Caret Line="499" Column="13" TopLine="467"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="126" Column="10" TopLine="94"/> <Caret Line="506" Column="13" TopLine="474"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="127" Column="15" TopLine="95"/> <Caret Line="513" Column="13" TopLine="481"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="143" Column="22" TopLine="111"/> <Caret Line="548" Column="19" TopLine="516"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="166" Column="24" TopLine="134"/> <Caret Line="727" Column="10" TopLine="707"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="167" Column="28" TopLine="135"/> <Caret Line="9" Column="97" TopLine="5"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="205" Column="61" TopLine="173"/> <Caret Line="5" Column="78" TopLine="1"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="209" Column="72" TopLine="177"/> <Caret Line="548" Column="19" TopLine="516"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="213" Column="82" TopLine="181"/> <Caret Line="727" Column="10" TopLine="695"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="picturectrls.pas"/> <Filename Value="main.pas"/>
<Caret Line="216" Column="60" TopLine="184"/> <Caret Line="821" Column="15" TopLine="789"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="408" Column="9" TopLine="376"/> <Caret Line="111" Column="36" TopLine="92"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="557" Column="37" TopLine="525"/> <Caret Line="595" Column="12" TopLine="578"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="559" Column="20" TopLine="527"/> <Caret Line="170" Column="19" TopLine="151"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="560" Column="8" TopLine="528"/> <Caret Line="206" Column="70" TopLine="174"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="596" Column="20" TopLine="573"/> <Caret Line="209" Column="82" TopLine="177"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="166" Column="24" TopLine="146"/> <Caret Line="422" Column="15" TopLine="390"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="167" Column="28" TopLine="146"/> <Caret Line="428" Column="15" TopLine="396"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="213" Column="82" TopLine="181"/> <Caret Line="564" Column="40" TopLine="544"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="596" Column="25" TopLine="564"/> <Caret Line="566" Column="23" TopLine="544"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="597" Column="55" TopLine="565"/> <Caret Line="567" Column="11" TopLine="544"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="641" Column="37" TopLine="609"/> <Caret Line="595" Column="14" TopLine="563"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="658" Column="18" TopLine="626"/> <Caret Line="616" Column="11" TopLine="584"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="703" Column="12" TopLine="671"/> <Caret Line="638" Column="15" TopLine="606"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="766" Column="41" TopLine="743"/> <Caret Line="650" Column="29" TopLine="618"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="picturectrls.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="862" Column="23" TopLine="842"/> <Caret Line="681" Column="41" TopLine="649"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="bmprgbtypes.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="128" Column="29" TopLine="108"/> <Caret Line="698" Column="11" TopLine="666"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="bmprgbtypes.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="567" Column="40" TopLine="559"/> <Caret Line="754" Column="36" TopLine="722"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="picturemanager.pas"/> <Filename Value="picturectrls.pas"/>
<Caret Line="268" Column="21" TopLine="1"/> <Caret Line="850" Column="54" TopLine="824"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>

View File

@ -1,7 +1,7 @@
object MainForm: TMainForm object MainForm: TMainForm
Left = 209 Left = 260
Height = 666 Height = 666
Top = 146 Top = 147
Width = 905 Width = 905
Caption = 'Lazarus Image Editor' Caption = 'Lazarus Image Editor'
ClientHeight = 644 ClientHeight = 644

View File

@ -1,8 +1,8 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TMainForm','FORMDATA',[ LazarusResources.Add('TMainForm','FORMDATA',[
'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#209#0#6'Height'#3#154#2#3'Top'#3#146 'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#4#1#6'Height'#3#154#2#3'Top'#3#147#0
+#0#5'Width'#3#137#3#7'Caption'#6#20'Lazarus Image Editor'#12'ClientHeight'#3 +#5'Width'#3#137#3#7'Caption'#6#20'Lazarus Image Editor'#12'ClientHeight'#3
+#132#2#11'ClientWidth'#3#137#3#12'Font.CharSet'#7#14'GB2312_CHARSET'#11'Font' +#132#2#11'ClientWidth'#3#137#3#12'Font.CharSet'#7#14'GB2312_CHARSET'#11'Font'
+'.Height'#2#243#9'Font.Name'#6#12#229#190#174#232#189#175#233#155#133#233#187 +'.Height'#2#243#9'Font.Name'#6#12#229#190#174#232#189#175#233#155#133#233#187
+#145#10'Font.Pitch'#7#10'fpVariable'#12'Font.Quality'#7#7'fqDraft'#4'Menu'#7 +#145#10'Font.Pitch'#7#10'fpVariable'#12'Font.Quality'#7#7'fqDraft'#4'Menu'#7

View File

@ -846,6 +846,9 @@ begin
BeginDraw; BeginDraw;
if not (ssLeft in Shift) then Picture.EraseMode := ermErase; if not (ssLeft in Shift) then Picture.EraseMode := ermErase;
try try
if (X1 = X2) and (Y1 = Y2) then
Picture.Canvas.Pixels[X1, Y1] := FOutLineColor
else
Picture.Canvas.Line(X1, Y1, X2, Y2); Picture.Canvas.Line(X1, Y1, X2, Y2);
finally finally
Picture.EraseMode := ermNone; Picture.EraseMode := ermNone;

View File

@ -111,8 +111,8 @@ type
property OnPageCloseQuery: TCloseQueryEvent read FOnPageCloseQuery write FOnPageCloseQuery; property OnPageCloseQuery: TCloseQueryEvent read FOnPageCloseQuery write FOnPageCloseQuery;
end; end;
implementation implementation
uses IconStrConsts; uses IconStrConsts;
{ TPictureManager } { TPictureManager }