|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2008, 22:24 | #11 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А вы эти свойства, я надеюсь, вашему Image1 присваиваете?
А Image1.Height:=Image1.Picture.Bitma p.Height после загрузки из потока? И то же - для ширины? А перерисовку Image1.Repaint делаете? Последний раз редактировалось mihali4; 24.10.2008 в 22:27. |
24.10.2008, 22:30 | #12 | |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
Цитата:
Image1.Stretch :=true; Image1.AutoSize:=true; Image1.Repaint; так верно? или нужно после загрузки картинки это делать? |
|
24.10.2008, 22:40 | #13 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
|
24.10.2008, 22:49 | #14 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Так. Становится все запутаннее.
Итак - вы используете TImage? Статический или вы его создаете? Приведите целиком обработчик нажатия кнопки (если я правильно понял, именно по нажатию кнопки вы загружаете из потока картинку?). |
24.10.2008, 22:59 | #15 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
procedure TForm1.Button3Click(Sender: TObject);
begin TThread3.Create(false); end; procedure TThread3.Execute; begin with Form1.Image1.Canvas do begin if not FileExists(ExtractFilePath(Applicat ion.ExeName)+'1.bmp') then begin ShowMessage('The bitmap was not found!'); Exit; end; Bmp := TBitmap.Create; try Bmp.LoadFromFile(ExtractFilePath(Ap plication.ExeName)+'1.bmp'); Lock; Draw(10, 10, Bmp); Unlock; finally Bmp.Free; end; end; self.Synchronize(Img); end; procedure TThread3.Img; begin Form1.Image1.Stretch :=true; Form1.Image1.AutoSize:=true; Form1.Image1.Height:= bmp.Height; Form1.Image1.Width:= bmp.Width; Form1.Image1.Repaint; end; компонент TImage лежит на форме, по нажатии кнопки создается поток, исполняет метод Execute, затем с помощью метода Synchronize передаю метод потока(в котором меняю свойства имэджа) основному потоку, и если в потоке TThread менять свойства (что вроде нельзя делать), не помогает. |
25.10.2008, 01:13 | #16 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Код:
Последний раз редактировалось mihali4; 25.10.2008 в 01:18. |
25.10.2008, 09:26 | #17 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
mihali4,
так по размеру подгоняется хорошо, но вот между потоками конфликты возникают.. ну ладно, разберусь с этим сама. Огромное спасибо за помощь. |
25.10.2008, 09:53 | #18 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
TImage устроен так, что его можно настроить как угодно. Image по размеру изображения (что вам и нужно), подогнать изображение под размер Image, подогнать пропорционально, отцентровать изображение посередине имиджа и т.д. Читайте описание его свойств в справке Дельфи.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TBitmap в многопоточном приложении | Sergey_nl | Мультимедиа в Delphi | 3 | 09.07.2007 00:34 |