Як отримати розміри картинки

Як отримати розміри картинки

Є TImage треба отримати розміри картинки в см.
Наприклад PhotoShop в меню Image-> ImageSize доет інфо:
Width в пікселя (= Image1-> Picture-> Width)
Height в пікселах (= Image1-> Picture-> Width)
Width в см (як дізнатися?)
Height в см (як дізнатися?)
Resolution в pixel per inch (як дізнатися?)
C повагою Saracin.

Тута є про вимір баскетбольного майданчика:

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

А для цього не треба знати дозвіл, друкуй відразу потрібним розміром

А який розмір потрібний. Чому одна й таж картинка через PhotoShop друкується з розміром 12x7 а в Paint друкується з розміром 8x4?

Треба картинку перед виведенням на принтер отмасштабовані. Робиться це через метод TCanvas.StretchDraw ().

Я теж вже сталвківался з такою проблемою. Дійсна проблема в тому, що WinAPI не зберігається в BMP інформацію про дозвіл (PixelsPerMeter, начебто так). У Дельфі клас TBitmap теж цю інформацію не зчитує і не зберігає.

При цьому, як показали досліди, картинки на TImage малюються в дозволі пристрої (тобто просто графічної карти), яке по дефолту утсновлено в 96 дпи.

Інформація про дозвіл зберігається не у всіх форматах. У тих, де це все-таки зберігається, можна прочитати цю інформацію з файлу (код нижче). Для тих, де це інформація відсутня, треба робити якийсь workaround. Наприклад Фотошоп, не знаходячи інформацію про дозвіл (наприклад в файлах форматів GIF або TGA) приймає дозвіл "за замовчуванням" в 72 дпи. Чому так я не знаю. Так само він надходить з тими форматами, де ця інформація повинна по ідеї бути, але не записана (ті ж BMP наприклад).

Я ж використовую наступну процедуру, яку дивись в наступному повідомленні.

Упс, не пускає. Занадто болшое повідомлення. Вобщем, якщо кому треба код, напишіть мені

Пам'ять: 0.73 MB
Час: 0.034 c

Схожі статті