Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизКак изменить размер bitmap Найти похожие ветки
← →
vini © (2014-04-20 14:27) [0]Всем привет. Такой вопрос как можно изменить размер битмапа, а то у меня при отрисовке изоражения ниже 200 пикселя не хотят рисоваться а начинают опять с верху.
← →
brother © (2014-04-20 14:46) [1]ерунда. код отрисовки покажие...
> а начинают опять с верху.
это вообще о чем речь?
← →
KilkennyCat © (2014-04-20 14:49) [2]var bmp : TBitmap;
bmp.width = 100; // изменили ширину
bmp.height = 50;// изменили высоту.
итого: изменили размер, что соответствует вопросу на 100%.
что там после 200-го пикселя - не ясно, ибо код не приведен.
← →
vini © (2014-04-20 14:54) [3]
procedure TForm2.sButton1Click(Sender: TObject);
begin
CanvasDraw(0,pos,sComboBox1.ItemIndex);
pos:=pos+ThePositionOfTheItems(sComboBox1.ItemIndex);
end;
procedure CanvasDraw(X,Y:byte; ElIndex:Integer);
var Element: string;
arPxl: array of TPoint;
_Bitmap:Tbitmap;
begin
_Bitmap:=TBitmap.Create;
try
BitmapPrepare(_Bitmap,Form2.Image1.Picture.Bitmap.Canvas,rect(10,10,Form2.Image1 .Height,Form2.Image1.Height));
_Bitmap.Canvas.Brush.Color:=RGB(17,100,159);
_Bitmap.Canvas.Pen.Color:=RGB(39,69,106);
_Bitmap.Canvas.Pen.Width:=3;
case ElIndex of
0: _Bitmap.Canvas.RoundRect(x*3,y*3,(x+100)*3,(y+40)*3,40*3,40*3);//4.bmp
1: _Bitmap.Canvas.RoundRect(x*3,y*3,(x+100)*3,(y+40)*3,40*3,40*3);//4.bmp
2: Element:="1.bmp";
3: begin
SetLength(arPxl,4);
arPxl[0].X:=50*3;
arPxl[0].Y:=50*3;
arPxl[1].X:=150*3;
arPxl[1].Y:=50*3;
arPxl[2].X:=200*3;
arPxl[2].Y:=100*3;
arPxl[3].X:=100*3;
arPxl[3].Y:=100*3;
_Bitmap.Canvas.Polygon(arPxl);//3.bmp
end;
4: begin
SetLength(arPxl,6);
arPxl[0].X:=50*3;
arPxl[0].Y:=50*3;
arPxl[1].X:=150*3;
arPxl[1].Y:=50*3;
arPxl[2].X:=200*3;
arPxl[2].Y:=100*3;
arPxl[3].X:=100*3;
arPxl[3].Y:=100*3;
arPxl[4].X:=100*3;
arPxl[4].Y:=100*3;
arPxl[5].X:=100*3;
arPxl[5].Y:=100*3;
_Bitmap.Canvas.Polygon(arPxl);//2.bmp
end;
5: begin
SetLength(arPxl,4);
arPxl[0].X:=50*3;
arPxl[0].Y:=50*3;
arPxl[1].X:=150*3;
arPxl[1].Y:=50*3;
arPxl[2].X:=200*3;
arPxl[2].Y:=100*3;
arPxl[3].X:=100*3;
arPxl[3].Y:=100*3;
_Bitmap.Canvas.Polygon(arPxl);//5.bmp
end;
end;
Alias(_Bitmap,Form2.Image1.Picture.Bitmap.Canvas,rect(10,10,Form2.Image1.Height, Form2.Image1.Height));
finally
_Bitmap.Free;
end;
Form2.sListBox1.Items.Add("Äîáàâëåí ýëåìåíò - "+Form2.sComboBox1.Text);
end;
← →
vini © (2014-04-20 14:56) [4]например я рисую один элемент несколько раз, отрисовывает 6 раз а дальше начинает с верху.
← →
vini © (2014-04-20 15:22) [5]простите я понял свою ошибку просто короткий тип данных был использован
← →
KilkennyCat © (2014-04-20 16:26) [6]можно оптимизировать:
case ElIndex of
0: _Bitmap.Canvas.RoundRect(x*3,y*3,(x+100)*3,(y+40)*3,40*3,40*3);//4.bmp
1: _Bitmap.Canvas.RoundRect(x*3,y*3,(x+100)*3,(y+40)*3,40*3,40*3);//4.bmp
2: Element:="1.bmp";
3,4,5: begin
SetLength(arPxl,4);
arPxl[0].X:=50*3;
arPxl[0].Y:=50*3;
arPxl[1].X:=150*3;
arPxl[1].Y:=50*3;
arPxl[2].X:=200*3;
arPxl[2].Y:=100*3;
arPxl[3].X:=100*3;
arPxl[3].Y:=100*3;
if ElIndex = 4 then behin
SetLength(arPxl,6);
arPxl[4].X:=100*3;
arPxl[4].Y:=100*3;
arPxl[5].X:=100*3;
arPxl[5].Y:=100*3;
end;
_Bitmap.Canvas.Polygon(arPxl);
end;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.08 c