小弟在學習圖片編程,這個問題折騰了幾天.
請大蝦幫看下.我的代碼問題在哪?
如何改,謝了.
問題:一個圖片中有很多行文字,判斷圖片空行的地方,以此X直線方向的第一個空白行為分割點,將圖片按行數分割成若干圖片.
procedure TMainForm.SpeedButton4Click(Sender: TObject);
var
i,j,x,W,H:Integer;
c: TColor;
IsWhite:Boolean;
begin
W := Image1.Picture.Width;
H := Image1.Picture.Height;
ShowMessage('Width:'+IntToStr(W)+#10#13+'Height:'+IntToStr(H));
//with do
x := 0;
begin
for i := 0 to W - 1 do
begin
IsWhite:=true; //先假設全是白色
for j := 0 to H - 1 do
begin
c := Image1.Picture.Bitmap.Canvas.Pixels[i,j];
//Memo1.Lines.Add(ColorToString(c));
if c<>clWhite then //如果一行里有發行不是白色,則標識有非白色.
IsWhite:=false;
Application.ProcessMessages;
end;
if IsWhite=true then //如果全部是白色,則標記坐標高度值
begin
Inc(x);
LineArry[x]:=H;
end;
end;
end;
ShowMessage(IntToStr(LineArry[2]));
//Image1.Refresh;
end;
uj5u.com熱心網友回復:
LineArry是什么,好像只是用它記錄的一些值uj5u.com熱心網友回復:
就是一個記錄坐標值的int陣列而已
uj5u.com熱心網友回復:
外回圈是寬度,內回圈式高度,是不是弄反了?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143666.html
標籤:VCL組件開發及應用
上一篇:請各位大俠給我一個Diamond-access的組件,謝謝了
下一篇:有木有可以配置ini的程式
