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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 13:50   #1
guffer
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 58
По умолчанию Размер изображения

Есть изображение с разрешением например 1024 на 768. Можно ли в delphi сделать так,чтобы при загрузке этого изображения в программу,или при нажатии на Button,разрешение становилось например 640 на 480?.Заранее спасибо!!!
guffer вне форума Ответить с цитированием
Старый 09.07.2009, 14:15   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Для этого нужно кинуть на форму TImage
поставить свойства Width и Height в 640 и 480 соответственно. Установить свойство
Код:
Stretch := true;
И в него загружать изображение
Код:
Image1.Picture.LoadFromFile('filename.jpg');
psycho-coder вне форума Ответить с цитированием
Старый 09.07.2009, 15:49   #3
guffer
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 58
По умолчанию

Спасибо!!!

Вопрос по этой же теме.Почему когда я сохраняю через SavePictureDialog изображение с измененным в программе разрешением,оно остаётся тем же,что и до изменений. Например я загрузил в прогу изображение 640 на 480, изменил на 1024 на 768,сохранил, а оно осталось всё равно 640 на 480.

Последний раз редактировалось Stilet; 09.07.2009 в 17:09.
guffer вне форума Ответить с цитированием
Старый 09.07.2009, 16:55   #4
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Хех, вот придумал:
Код:
procedure TForm1.bt_1Click(Sender: TObject);
var
 x, y: integer;
 Bmp: TBitmap;
 DC: HDC;
begin
 Bmp := TBitmap.Create;
 try
  Bmp.Width := Image1.Width;
  Bmp.Height := Image1.Height;
  DC := GetDC(Handle);
  for y := 0 to Image1.Height - 1 do
   for x := 0 to Image1.Width - 1 do
    Bmp.Canvas.Pixels[x, y] := GetPixel(DC, Image1.Left + x, Image1.Top + y);
  Bmp.SaveToFile('D:\1.bmp');
 finally
  Bmp.Free;
  ReleaseDC(Handle, DC);
 end;
end;
Тут изображение сохраняется прямо с пикселей формы.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 09.07.2009 в 17:03.
Neeter вне форума Ответить с цитированием
Старый 09.07.2009, 20:11   #5
guffer
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 58
По умолчанию

Всё работает, но на изображении остаётся чёрная линия.
guffer вне форума Ответить с цитированием
Старый 10.07.2009, 16:44   #6
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

У меня все нормально, без черных линий сохраняется.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 10.07.2009, 17:50   #7
guffer
Пользователь
 
Регистрация: 07.07.2009
Сообщений: 58
По умолчанию

Ну ладно,попробую разобраться почему эти линии остаются.Спасибо,очень помогли!!!
guffer вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масштабирование изображения под размер таблицы ARCHANG3L HTML и CSS 6 03.02.2009 23:23
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Как уменьшить размер PNG изображения? highklass Мультимедиа в Delphi 5 31.05.2008 16:24
Изображения в БД alikon1 БД в Delphi 3 08.10.2007 13:13