Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Image1.Picture.LoadFromFile('1.jpg'), Смутные времена пошли... 
:(
    Опции темы
p0s0l
Дата 5.3.2004, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



В чем тут дело ?
Создаю новый проект, вытаскиваю два TImage и TButton. На нажатие кнопки вешаю небольшой код, впрочем вот весь юнит:
Код
unit uMain;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, ExtCtrls, JPEG, StdCtrls;

type
 TfrmMain = class(TForm)
   Image1: TImage;
   Image2: TImage;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
 public
 end;

var
 frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.Button1Click(Sender: TObject);
begin
 Image1.Picture.LoadFromFile('2.jpg');
 Image2.Picture.Bitmap.Canvas.Draw(0, 0, Image1.Picture.Bitmap);
end;

end.

В результате, если нажать на Button1, оба Image - пустые. Если убрать вторую строчку, то в Image1 появляется картинка.
Вообще, даже вместо второй строчки можно поставить просто обращение к битмапу:
Код
procedure TfrmMain.Button1Click(Sender: TObject);
begin
 Image1.Picture.LoadFromFile('1.jpg');
 Image1.Picture.Bitmap;
end;

И будет то же самое... Странно это...
Если вставить между Image1 и Image2 что-нить типа frmMain.Refresh, то после второго нажатия на кнопку в Image1 все-таки картинка появится...
И эти глюки только с JPG, с BMP всё ок... Не уж то распаковывается JPEG асинхронно ? Тупо тогда как-то...



--------------------
С уважением, г-н Посол.
PM   Вверх
Cashey
Дата 6.3.2004, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



Сделай так.

Код
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('2.jpg');
Image2.Picture.Bitmap.Canvas.Draw(0,0, Image1.Picture.Graphic);
end;



--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
p0s0l
Дата 6.3.2004, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Image1 не исчезает, но в Image2 ничего нет (размеры Bitmap'а задавал)...



--------------------
С уважением, г-н Посол.
PM   Вверх
Cashey
Дата 6.3.2004, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



Я так понял тебе надо повторить изображение из Image1 в Image2, так? Тогда вот два способа в зависимости от прорисования рисунка

Код
Image1.Picture.LoadFromFile('2.jpg');
Image2.Picture.Graphic :=  Image1.Picture.Graphic;
//или
Image2.Canvas.Draw(0,0,Image1.Picture.Graphic);



--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Pakshin A. S.
Дата 6.3.2004, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



А присвоение Picture к Picture или что-то в этом духе не будет работать?
А файлик большой? если нет, то почему его нельзя второй раз проloadить?
PM   Вверх
z-END
Дата 7.3.2004, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



А проблемма то вся в том что JPEG никакого отношения не имеет к Bitmap, и висит он весь в Graphic, оттуда его-то и надо юзать.


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Смайлик
Дата 7.3.2004, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 11.12.2003
Где: Киргизия

Репутация: нет
Всего: нет



Во-во, насколько помню, чтоб JPEG или GIF распаковать в BMP надо вызвать процедуру от этого Image'а

PM MAIL   Вверх
GRU
Дата 31.7.2004, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.7.2004

Репутация: 1
Всего: 1



...
Image1.Picture.LoadFromFile('2.jpg');
Image2.Picture.Assign(Image1.Picture);
...
Image1.Picture.Assign(nil);
PM MAIL   Вверх
p0s0l
Дата 31.7.2004, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Задачи никакой не стояло. Понятное дело, если надо присвоить одну картинку другой, я бы выкрутился как-нибудь.
Дело было про то, что простое обращение к Image1 сразу после загрузки картинки обнуляет его, что-ли... Было интересно узнать, в чём дело...



--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1403 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.