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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2010, 09:19   #1
AnKor94
Пользователь
 
Регистрация: 24.11.2009
Сообщений: 54
Стрелка сжатие фотографий в квадрат

нужно переделать

Код:
begin 
jpg := TJpegImage.Create; 
jpg.Loadfromfile('C:\\1.jpg'); 
if jpg.Height > jpg.Width then 
scale := 250 / jpg.Height 
else 
scale := 250 / jpg.Width; 
bmp:= Tbitmap.Create; 
bmp.Width := Round( jpg.Width * scale ); 
bmp.Height:= Round( jpg.Height * scale ); 
bmp.Canvas.StretchDraw( bmp.Canvas.Cliprect, jpg ); 
Self.Canvas.Draw( 2000, 10, bmp ); 
jpg.Assign( bmp ); 
jpg.SaveToFile( 'C:\\1small.jpg' ); 
bmp.free; 
jpg.free; 
end;
так, чтобы фотографии становились квадратными - но не растягивались, а свободное место занималось белым цветом...

эта программа выкладывает на ftp фотографии и если они не квадратные - то скрипт их показывает очень неупорядоченно.. вот пример http://www.sch-10.ru/photo/mart/
141.116.168.135 : damiu2d449028.dami.army.pentagon.mi l (.MIL | US Military)
AnKor94 вне форума Ответить с цитированием
Старый 15.03.2010, 10:02   #2
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Код:
BitMap := TBitMap.Create;
BitMap.LoadFromFile(_file);
try
  if BitMap.Width = bmp.Height then exit;
  if BitMap.Width > bmp.Height then
  begin   //Первый случай, если ширина > длинны
    DestMap.Width := BitMap.Width;
    DestMap.Height := BitMap.Width;
    DestMap.Draw(0, (BitMap.Width - bmp.Height) div 2, BitMap);
  end
  else
  begin
    //по аналогии
  end;
finally
  BitMap.Free;
end;
А дальше ужимаете StretcBlt в HALFTONE
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.

Последний раз редактировалось notHaker; 15.03.2010 в 11:23.
notHaker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сжатие фотографий AnKor94 Общие вопросы Delphi 1 15.03.2010 00:18
Обрезка фотографий doniyor Мультимедиа в Delphi 25 01.11.2009 13:15
Проблема с открытием фотографий artemavd Операционные системы общие вопросы 6 19.08.2009 19:12
непрерывная смена фотографий в разных папках. brenfire Общие вопросы по Java, Java SE, Kotlin 0 07.08.2008 14:39
каталог фотографий mager PHP 8 27.03.2008 22:43