Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Посчитать пропорции, изображения

343
26 ноября 2007 года
lena_ki
282 / / 14.04.2005
Фотография подготавливается для отправки в базу данных таким кодом:

Код:
Graphics::TBitmap* Bmap = new Graphics::TBitmap;
AnsiString fileName = PathFolder;//путь к фото
auto_ptr<TMemoryStream> stream(new TMemoryStream());
auto_ptr<TJPEGImage> jpeg (new TJPEGImage());
jpeg->LoadFromFile(fileName);
Bmap->Width = jpeg->Width / FotoWidth;
Bmap->Height = jpeg->Height / FotoWidth;
Bmap->Canvas->StretchDraw(Bmap->Canvas->ClipRect, jpeg.get());
jpeg->Assign(Bmap);
stream->Position=0;
jpeg->SaveToStream(stream.get());
//далее код


FotoWidth это число пропорционального уменьшения фотографии.

Пользователь хочет задавать ширину и высоту картинки в пикселях и чтобы была галочка пропорционального изменения размера. Например, пользователь выставил ширину, тогда пропорционально уменшилась и высота (как в графических редакторах). По какой формуле это сделать?
Bmap->Width = пользователь задал ширину
Bmap->Height = как пропорционально вычислить высоту?
24K
27 ноября 2007 года
Starlit
16 / / 17.05.2007
newwidth = то, что задал пользователь
ratio= отношение исходного размера картинки (ширины или высоты) к тому рамеру, который хочет пользователь (то есть это число раз, в которое уменьшается картинка) то есть
ratio = width / newwidth;
тогда:
newheight = height / ratio;
или
newheight = height*newwidth / width;

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог