Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

Как изменить размер 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 1.38 c
3-1304681525
wwowa
2011-05-06 15:32
2015.09.10
Перенос данных


15-1418938202
Юрий
2014-12-19 00:30
2015.09.10
С днем рождения ! 19 декабря 2014 пятница


2-1394622199
Васька
2014-03-12 15:03
2015.09.10
выбор столбца для суммирования в SQL


15-1415987381
Rouse_
2014-11-14 20:49
2015.09.10
Пара слов о кэшировании данных при чтении и смартпойнтерах


2-1397547244
kossxsasha
2014-04-15 11:34
2015.09.10
перенос данных из excel в power point