Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 300Х300 как узнать разрешение картинки, Работа с графическими файлами 
:(
    Опции темы
dr.ZmeY
  Дата 22.7.2003, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Собственно САБЖ...
Т.е. открываю графический файл, пусть jpeg, размер в пикселях узнать не проблема, но нужно его разрешение в dpi... Уже всё перерыл, может кто знает?
ХЭЛП.... !!!!!


--------------------
PM MAIL WWW ICQ Skype   Вверх
кварк_гость
Дата 22.7.2003, 13:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Скажу тебе страшную тайну: dpi - какое хочешь!

dpi - dots per inch - количество точек на дюйм. Для графического файла этот параметр лишен всякого смысла. При печати (выводе на экран и т.д.) - совсем другое дело. Меряем линейные размеры картинки (в дюймах), делим на размер в пикселях - получаем dpi. Только так.

Или я не на тот вопрос ответил?
  Вверх
PostEr
Дата 22.7.2003, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



Просто каждый файл графический файл имеет ещё разрешение. Для экрана рекомендуют 72 ppi.

То есть это значит, если хочешь выводить на экран, то нужно использовать 72ppi - значит что в квадратике 2,54х2,54см содержится 72х72 пикселей. То есть изменение разрешения - это масштабирование грубо говоря smile.gif А кварк_гость прав.


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
dr.ZmeY
Дата 23.7.2003, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Мне не для печати или вывода на экран...
Мне нужно узнать реальный размер картинки в мм, а для этого я должен знать с каким разрешением она отсканирована...
То что вы мне сказали я и так знаю.


--------------------
PM MAIL WWW ICQ Skype   Вверх
Dexter
Дата 23.7.2003, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: 1
Всего: 4



Загрузи в фотошопе на на линейках поменяй единицы измеения на см это и будет размер smile.gif


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
PostEr
Дата 24.7.2003, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



А как этот размер считаетсяconfused.gif Точнее, при сканировании размер фиксирован - A4, а отношение Size in pixels \ Size in mm разное, и зависит оно от разрешения. Расчитать очень просто


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
dr.ZmeY
Дата 10.9.2003, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Цитата
Загрузи в фотошопе на на линейках поменяй единицы измеения на см это и будет размер 

Умный, да?
Я говорю про программный метод...
Цитата
Size in pixels \ Size in mm разное, и зависит оно от разрешения. Расчитать очень просто

Ну так мне именно это разрешение и неизвестно...


--------------------
PM MAIL WWW ICQ Skype   Вверх
stab
Дата 11.9.2003, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Код

function GetJPEGDensity(fn: String): TPoint;
var
 fs: TFileStream;
 pt: TSmallPoint;

 function NextMarker: Byte;
 var
   b: Byte;
 begin
   Result := 0;
   while True do begin
     repeat
       fs.Read(b, SizeOf(b));
     until b = $FF;

     repeat
       fs.Read(b, SizeOf(b));
     until b <> $FF;

     if b <> 0 then begin
       Result := b;
       Break;
     end;
   end;
 end;

begin
 ZeroMemory(@pt, SizeOf(pt));
 fs := TFileStream.Create(fn, fmOpenRead);
 repeat
   m := NextMarker;
   if fs.Position > 1024 * 10 then m := $D9; // speed optimization
 until (m = $E0) or (m = $D9);
 
 if m <> $D9 then
 begin
   fs.Seek(10, soFromCurrent);
   fs.Read(pt, SizeOf(pt));

   pt.x := ((pt.x and $00FF) shl 8) or ((pt.x and $FF00) shr 8);
   pt.y := ((pt.y and $00FF) shl 8) or ((pt.y and $FF00) shr 8);
 end;
 fs.Free;

 Result.X := pt.y;
 Result.Y := pt.x;
end;

// ............
 pt := GetJPEGDensity('c:\test.jpg');
 ShowMessage('JPEG: ' + IntToStr(pt.X) + ', ' + IntToStr(pt.Y));
// ...............


Возвращает нули если плотность не определена. Кол-во точек на дюйм по горизонтали и вертикали может быть различным, поэтому возвращается два значения, обычно они равны.

з.ы. не верьте виндам, точнее свойствам файла в проводнике -- там показывается dpi экрана в том случае если вынды не смогли определить dpi файла.

з.з.ы. заметил что при значениях dpi 1, 72, 96, 100 разные проги разные значения показывают. Photoshop склоняется к 72, винды к 96 smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
dr.ZmeY
Дата 11.9.2003, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Во, это уже ответ... спасибо...


--------------------
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0941 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.