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

Вниз

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

 
[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 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.018 c
14-90115
val_5
2003-11-03 17:33
2003.11.27
Windows CE


3-89761
trd
2003-11-07 14:05
2003.11.27
Связь с SQL Server ом


3-89699
Vemer
2003-11-10 14:49
2003.11.27
Как правильно задать параметр запроса с датой.


1-89964
Saturn
2003-11-17 11:32
2003.11.27
Мат. Формулы


1-89900
Bokus
2003-11-15 10:00
2003.11.27
Криптография