Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Копирование 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.016 c
14-1121789262
atruhin
2005-07-19 20:07
2005.08.14
Почему все известные прокси хранят кэш в файлах а не в БД


4-1118750333
Константин_1558
2005-06-14 15:58
2005.08.14
Нужно открыть в проводнике диск CDRom а. Прошу помощи!


1-1122527434
Demidoff
2005-07-28 09:10
2005.08.14
Как сделать что бы курсор в memo был всегда в конце файла?


4-1119417239
pavel_guzhanov
2005-06-22 09:13
2005.08.14
Как запустить программу на удаленном компьютере?


3-1120601048
Loki2005
2005-07-06 02:04
2005.08.14
Целесообразное использование БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский