Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2011, 08:21   #1
Denutrror
Пользователь
 
Регистрация: 18.08.2010
Сообщений: 59
Радость Перенос из Image1 в Image2 через TBitmap. Вчём ошибка?

Здравствуйте. Прошу помочь:

Мне нужно перенести изображение из Image1 в Image2 через TBitmap.

Вот код:

Код:
type
 
    Button1: TButton;
    im1: TImage;
    im2: TImage;

var

  DC: HDC;
  bmp: Tbitmap;
  Canvas: TCanvas;
   rect1: Trect;

procedure TForm1.Button2Click(Sender: TObject);
begin

rect1:= im1.ClientRect;
Dc:= GETDC(im1.Picture.Bitmap.Canvas.Handle);

  Bmp := TBitmap.Create;
    Bmp.PixelFormat:=pf16bit;
    Bmp.Width := im1.Width;
    Bmp.Height := im1.Height;
   Canvas.Create;
     Canvas.Handle := DC;
 Bmp.Canvas.CopyRect(rect1, Canvas, rect1);
  im2.Picture.Assign(bmp)

end;

Вместо изображения из Image1, в Image2 попадает "кусок формы". Я думаю ошибка допущена здесь Dc:= GETDC(im1.Picture.Bitmap.Canvas.Han dle);
Подскажите в чём ошибка.
Denutrror вне форума Ответить с цитированием
Старый 10.10.2011, 09:39   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А так не устраивает?
Код:
im2.Picture.Bitmap.Assign(im1.Picture.Bitmap);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.10.2011, 11:07   #3
Denutrror
Пользователь
 
Регистрация: 18.08.2010
Сообщений: 59
По умолчанию

Цитата:
А так не устраивает?

Код:
im2.Picture.Bitmap.Assign(im1.Picture.Bitmap);
Нет. Этот вариант не подходит. Я хочу передать изображение по сети из одного Image в другой, при этом сжав его по необходимости.

Проблема заключается том, что я не могу правильно "засунуть" изображение из Image в Tbitmap.
Denutrror вне форума Ответить с цитированием
Старый 11.10.2011, 08:05   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Вы бы поиском посмотрели темы "Передача файлов по сети" или "Передача картинки по сети" и найдёте много примеров. Если в двух словах то
сохраняете имидж1 в MemoryStream передаёте по сети а уж там приняв его загружаете картинку из потока в имидж2. Какие сетевые компоненты будете использовать?
SERG1980 вне форума Ответить с цитированием
Старый 11.10.2011, 10:06   #5
Anton911
Форумчанин
 
Аватар для Anton911
 
Регистрация: 23.08.2011
Сообщений: 171
По умолчанию

Цитата:
Сообщение от Denutrror Посмотреть сообщение
Проблема заключается том, что я не могу правильно "засунуть" изображение из Image в Tbitmap.
Код:
type
 
    Button1: TButton;
    im1: TImage;
    im2: TImage;
var
  bmp: Tbitmap;


bmp:=TBitMap.Create();
bmp.Width:=im1.Width;
bmp.Height:=im1.Height;
bmp.Canvas.Draw(0,0,im1.Picture.Bitmap);
в bmp загружается картинка из image, дальше думаю разберетесь
Каждый день узнаю новое...
Anton911 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
image1 и image2 Афанасий[vedma] Компоненты Delphi 6 18.07.2011 11:35
Image1 и Image2 L.A.M.E.R. Мультимедиа в Delphi 2 27.03.2011 20:27
Image2 поверх Image1 Djem1991 Общие вопросы Delphi 2 25.06.2009 02:00
Как запрограмировать столкновение двух обьектов (например image1 и image2)? virus88 Общие вопросы Delphi 8 28.05.2009 18:09
помогити разобраться вчём ошибка в коде С++ Lorden Помощь студентам 2 02.02.2009 22:26