Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить размеры картинки


Saracin ©   (2003-02-05 19:32:00) 

Имеется TImage надо получить размеры картинки в см.
Например PhotoShop в меню Image->ImageSize доет инфо:
Width в пиксела (= Image1->Picture->Width)
Height в пикселах (= Image1->Picture->Width)
Width в см (как узнать ?)
Height в см (как узнать ?)
Resolution в pixel per inch (как узнать ?)
C Уважением Saracin.


RBear   (2003-04-08 15:40:00) [1]

Упс, не пускает. Слишком болшое сообщение. Вобщем, если кому надо код, напишите мне


RBear   (2003-04-08 15:30:00) [2]

Я тоже уже сталвкивался с такой проблемой. Действительная проблема в том, что WinAPI не сохраняет в BMP информацию о разрешении (PixelsPerMeter, вроде так). В Дельфи класс TBitmap тоже эту информацию не считывает и не сохраняет.

При этом, как показали опыты, картинки на TImage рисуются в разрешении устройства (т.е. попросту графической карты), которое по дефолту утсновлено в 96 дпи.

Информация о разрешении сохраняется не во всех форматах. В тех, где это всё-таки сохраняется, можно прочитать эту информацию из файла (код ниже). Для тех, где это информация отсутствует, надо делать какой-то workaround. Например Фотошоп, не находя информацию о разрешении (например в файлах форматов GIF или TGA) принимает разрешение "по умолчанию" в 72 дпи. Почему так я не знаю. Так же он поступает с теми форматами, где эта информация должна по идее быть, но не записана (те же BMP например).

Я же использую следующую процедуру, которую смотри в следующем сообщении.


Song   (2003-02-07 12:38:00) [3]

Надо картинку перед выводом на принтер отмасштабировать. Делается это через метод TCanvas.StretchDraw().


Saracin   (2003-02-07 12:28:00) [4]

>Demetrius © (07.02.03 09:56)
это стандарт или это зависит от монитора?
если от монитора, то как получить эту цифру (0.028).


Demetrius   (2003-02-07 09:56:00) [5]


> Михайлов Антон

1 pxl = 0.028 cm


Saracin   (2003-02-06 14:22:00) [6]

А какой размер нужный ? Почему одна и таже картинка через PhotoShop печатается с размером 12x7 а в Paint печатается с размером 8x4?


Anatoly Podgoretsky   (2003-02-06 12:52:00) [7]

А для этого не надо знать разрешение, печатай сразу нужным размером


Saracin   (2003-02-06 12:47:00) [8]

фишка в том что надо знать скаким resolution эта картинка идет.
Но на самом деле вопрос не правельный, полный вопрос звучит так:
пытаюсь распечатать TImage через копирование Canvasa TImage"a в Canvas Printer"a, печатает, но картинка очень маленькая. В чем фича?


iNew   (2003-02-06 11:54:00) [9]

> Михайлов Антон
Ну ты сказал.


Михайлов Антон   (2003-02-06 11:21:00) [10]

Гдето читал что 25px=1см :) ненаю на сколько ето правда :)))


Mihey   (2003-02-05 21:34:00) [11]

Тута есть про измерение баскетбольной площадки:

http://www.efg2.com/Lab/Graphics/Basketball.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо