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

Вниз

Копирование CopyRect   Найти похожие ветки 

 
Trenno   (2005-07-23 23:19) [0]

Никак немогу решить разделение картинки
BIG -bmp  20x20
c0  -bmp приемник 10x20 левой  части BIG
c1  -bmp приемник 10x20 правой части BIG
ine,oute:TRect;

oute:=Rect(0,0,10,BIG.Height);
ine:=rect(0,0,10,BIG.height)
c0.Canvas.CopyRect(oute,Big.Canvas,ine);

ine:=rect(0,10,10,BIG.height)
c1.Canvas.CopyRect(oute,Big.Canvas,ine);

первую половику выводит,а
вторую зеркально,для проверки попробывал делить
на 3 части картинку "ZBC" и увидел Z - нормально
B-перевернуто , третью картинку как перевернутые
и сжатые в одно место BC

проверяю Form1.Canvas.Draw( 250, 0, c0 );

почему глюки?


 
alex-drob ©   (2005-07-23 23:50) [1]

Строка
ine:=rect(0,10,10,BIG.height)
не правельная

Тебе нужно скопировать Rect(10,0,20,BIG.height)


 
Trenno   (2005-07-24 13:55) [2]

простой код
должен в с0 получить "Т"
а в с1 изображение "Е",но оно перевернутое!
До S недобратся

procedure TForm1.Button2Click(Sender: TObject);
var
BIG:TBitmap;
c0,c1:TBitmap;
Oute,ine:TRect;
begin
Big:=TBitmap.Create;
c0:=TBitmap.Create;
c1:=TBitmap.Create;
BIG.Width:=30;
BIG.Height:=15;
BIG.Canvas.TextOut(0,0,"TEST");//  в изображение
Form1.Canvas.Draw( 0, 20, big );
c0.Height:=BIG.Height;
c0.Width:=BIG.Width div 4;
oute:=Rect(0,0,c0.Width,BIG.Height);
ine:=rect(0,0,c0.Width,BIG.height);
c0.Canvas.CopyMode:=cmSrcCopy;
c0.Canvas.CopyRect(oute,Big.Canvas,ine);
Form1.Canvas.Draw( 0, 40, c0 );  // T

c1.Height:=BIG.Height;
c1.Width:=BIG.Width div 4;
oute:=Rect(0,0,c0.Width,BIG.Height);
ine:=rect(c0.Width*2,0,c0.Width,BIG.height); // шаг сдвиг справо
c1.Canvas.CopyMode:=cmSrcCopy;
c1.Canvas.CopyRect(oute,Big.Canvas,ine);
Form1.Canvas.Draw( 0, 60, c1 );  // E перевернутое


 
KilkennyCat ©   (2005-07-24 14:04) [3]

переворот достигается неправильным использованием координат.

BIG -bmp  20x20
c0  -bmp приемник 10x20 левой  части BIG
c1  -bmp приемник 10x20 правой части BIG

//procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: TRect);

c0.Canvas.CopyRect(rect(0,10,0,20),Big.Canvas,rect(0,10,0,20));
c1.Canvas.CopyRect(rect(0,10,0,20),Big.Canvas,rect(10,20,0,20));



Страницы: 1 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1122384183
John
2005-07-26 17:23
2005.08.14
перерисовка listbox


14-1121456065
Магнум
2005-07-15 23:34
2005.08.14
На что потратить свои WebMoney?


14-1120413328
Soft
2005-07-03 21:55
2005.08.14
Какую CMS использовать?


3-1120464571
ANB
2005-07-04 12:09
2005.08.14
Как определить, что выполнение оператора SQL закончилось (Oracle)


4-1118514492
ctranik
2005-06-11 22:28
2005.08.14
Получение данных