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

Вниз

Вопрос по изображению   Найти похожие ветки 

 
[BAD]Angel   (2003-07-31 13:40) [0]

Люди, подскажите можно ли сделать следующее:
Есть несколько картинок BMP размер самой большой ~1030х646, далее идет штуки 4 маленькие... как мне наложить маленькие на большую и сохранить все это дело в файл? (не хотелось бы терять качество посредством Stretch)


 
Smithson   (2003-07-31 14:02) [1]

BMP.LoadFromFile(большую);
BMP.Picture.Canvas.CopyRect...


 
[BAD]Angel   (2003-07-31 14:09) [2]

CopyRect как я знаю он копирует с экрана или я ошибаюсь?
Ведь у меня картинка на экран не помещается по размеру...


 
[BAD]Angel   (2003-07-31 14:16) [3]

Поясню вопрос:

Есть большая картинка...
Пихаю ее на форму Image1.LoadFromFile(...);
Потом поверх этой картинки таким же способом загружаю остальные... Но размер этого всего на форме уменьшен Image1.Stretch:=true;

Но в файл мне надо сохранить реальный размер этого винегреда!
Вот...

Может у меня подход не правильный! Подскажите ПЛЗ!


 
[BAD]Angel   (2003-07-31 14:45) [4]

Люди... помогите ПЛЗ!


 
NAlexey   (2003-07-31 15:09) [5]

CopyRect копирует от туда откуда укажешь. Укажешь скопировать такойто рект из такого то битмапа в такой то и всех делов.


 
[BAD]Angel   (2003-07-31 15:21) [6]

А как быть с размерами? Ведь мое изображение больше экрана?
Какой Rect писать?


 
[BAD]Angel   (2003-07-31 15:50) [7]

Да, и объясните работу CopyRect ПЛЗ!


 
[lamer]Barmaglot   (2003-07-31 16:06) [8]

А справку посмотреть? Глядишь в следующий раз меньше вопросов задавать будешь...

Неужели за 2 часа не возникло ни одной мысли как это сделать?


procedure TForm1.Button1Click(Sender: TObject);
var
Dest, Source: TRect;
begin
Dest:=Rect(10,10,50,50);
Source:=Rect(10,10,50,50);
Image2.Picture.Bitmap.Canvas.CopyRect(Dest,Image1.Picture.Bitmap.Canvas, Source);
end;


 
Photus   (2003-07-31 16:32) [9]

2[BAD]Angel:
Извините, не тот ли вы [BAD]Angel, с которым я недавно на другом форуме общался?

А вообще совет такой: когда непонятно какая процедура как работает иногда достаточно набрать название этой функции в Editore, "встать" на это название текстовым курсором и нажать F1. Если с английским проблем нет, то во всём сами разберётесь.


 
[BAD]Angel   (2003-07-31 17:01) [10]

Нет, не тот.
Про Ф1, прикиньте, я знаю.

Хорошо, значит тут Image2 присваивается картинка из Image1 с размерами 50 на 50 и отступом 10 от верхнего левого края... Да?

Но ведь я же говорю, что у меня на форме Картинка уменьшена, не в натуральном размере (если ставить натуральный, то не хватит разрешение экрана), и что из этого примера получится?


 
[BAD]Angel   (2003-07-31 18:30) [11]

Разобрался с CopyRect, но это совсем не то!

ПИШУ ПОДРОБНЕЕ:

Есть большая картинка я ее пихаю на форму и уменьшаю (Stretch)
Сверху нее я кладу еще одну картинку + четыре Label"a, так вот как мне сохранить в файл этот венигред из картинок и Лейблов да и еще размера большой картинки (1030x646)??? Вот в чем трабла... Вы меня просто не поняли!


 
BOA_KAA   (2003-07-31 18:46) [12]

Вычислить координаты этого венегрета и, как ни странно, CopyRect
Например так,

bmp.Canvas.CopyRect(Rect(0,0,Width,height),Form1.Canvas,Rect(0,0,Width,height));
bmp.SaveToFile("e:\my.bmp");</code.


 
Photus   (2003-08-01 11:46) [13]

2BOA_KAA:
Тогда ведь Лейблы не сохранятся.


 
BOA_KAA   (2003-08-01 15:26) [14]

> Тогда ведь Лейблы не сохранятся
Это с какого перепуга???


 
pasha676   (2003-08-01 15:46) [15]

Мда. Клиника.
Ты лабелы кладешь или рисунки лабелов. Если лабелы - то может имеет смысл TextOut - ом просто на канвасе картинки писать?


 
Photus   (2003-08-01 17:40) [16]

2BOA_KAA:
>Это с какого перепуга???
Да с такого, что на канве формы Лейблы не рисуются. Это отдельные компоненты, они кладутся на форму и рисуют сами себя, а не форма их рисует.


 
[BAD]Angel   (2003-08-02 12:39) [17]

Мужики, а это идея!!!
СПАСИБО, а я совсем и забыл про TextOut
Ну Вы выручили :))



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

Форум: "Media";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-89869
Ламер
2003-11-16 01:56
2003.11.27
Тэг кнопки


14-90092
RoLeX
2003-11-04 10:51
2003.11.27
Помогите перевести язык интерфейса на английский!!!


14-90061
Zheks
2003-11-05 10:46
2003.11.27
Округление


3-89723
Chery
2003-11-10 10:36
2003.11.27
Закладки Bookmark. Обновление данных на форме.


8-90009
GILforever
2003-08-02 02:26
2003.11.27
Многообъектная печатаемая поверхность





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский