Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Dimon16
Новичок
14 / 14 / 1
Регистрация: 09.06.2010
Сообщений: 35
15.10.2010, 22:31     Как перевести пиксели в сантиметры?
  #1
Как перевести пиксели в сантиметры?
Заранее спасибо!
AdAgent
Объявления
15.10.2010, 22:31
tasty_sock
Форумчанин
125 / 124 / 2
Регистрация: 26.01.2010
Сообщений: 351
15.10.2010, 23:57
  #2
От разрешения зависит. Пиксель - это точка на экране, размер может варьироваться.
Dmitry
Форумчанин
9064 / 4691 / 114
Регистрация: 09.09.2009
Сообщений: 18,391
16.10.2010, 00:10
  #3
dpi - dot per inch (точек на дюйм). Если допустим, установлено 96 dpi, то в дюйме (а это 2,54 см) их будет как раз 96 штук. Исходя из этого, на сантиметр (один) их будет 96 / 2,54 = 37,795......
body90
Форумчанин
330 / 263 / 4
Регистрация: 26.05.2009
Сообщений: 2,556
16.10.2010, 02:42
  #4
Скорее всего проблема именно в определении dpi монитора в данный момент.
Dimon16
Новичок
14 / 14 / 1
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 10:02  [ТС]
  #5
Мне нужно узнать сколько в сантиметрах Height,Width изображения?
Как определить сколько точек в дюйме?
ValeryB
Форумчанин
626 / 371 / 2
Регистрация: 25.05.2010
Сообщений: 1,366
16.10.2010, 10:50
  #6
Цитата Сообщение от Dimon16 Посмотреть сообщение
Как определить сколько точек в дюйме?
В свойствах изображения. Если это в виде графического файла.
А про какое изображение у вас речь - не понятно. Опишите проблему более подробно.
newdj
Форумчанин
24 / 4 / 0
Регистрация: 03.09.2009
Сообщений: 73
16.10.2010, 10:58
  #7
Я конечно не уверен, но почему-то мне кажется что в зависимости от качества изображения, размер точки, то есть пикселя, может варьироваться...
Ну и соответственно их количество в сантиметре тоже не постоянно...
Dmitry
Форумчанин
9064 / 4691 / 114
Регистрация: 09.09.2009
Сообщений: 18,391
16.10.2010, 11:17
  #8
так не надо чтоб казалось, ндо просто прочитать параметрв файла - там будет все просто и понятно. у файла картинки есть данные о его разрешении в dpi и непосредственно размер в пикселах. допустим, разрешение файда 96 dpi и размер 1024 х 768. осталось сделать простое действие - поделить размеры в пикселях на значение dpi и получатся размеры в дюймах, потом поделить еще на 2,54 и получатся в сантиметрах...
Dimon16
Новичок
14 / 14 / 1
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 11:23  [ТС]
  #9
Походу это свойства:HorizontalResolution,VerticalResolution!
r0fL
Кодило
16.10.2010, 13:51
  #10

Не по теме:

Запустите программу и измерьте на мониторе линейкой или штангенциркулем

NickoTin
Модератор
7090 / 3090 / 165
Регистрация: 14.06.2010
Сообщений: 4,231
Записей в блоге: 6
16.10.2010, 15:39
  #11
Dimon16, попробуйте так:
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.Runtime.InteropServices;
...
        const int HORZSIZE = 4;
        const int VERTSIZE = 6;
 
        const int HORZRES = 8;
        const int VERTRES = 10;
 
        [DllImport("gdi32.dll", SetLastError = true)]
        static extern int GetDeviceCaps(
            IntPtr hDc,
            int index
            );
 
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr GetDC(IntPtr hWnd);
 
        [DllImport("user32.dll", SetLastError = true)]
        static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
...
        SizeF GetPixelSizePerMM()
        {
            IntPtr hDC = GetDC(IntPtr.Zero);
            float wM = (float)GetDeviceCaps(hDC, HORZRES) / (float)GetDeviceCaps(hDC, HORZSIZE);
            float hM = (float)GetDeviceCaps(hDC, VERTRES) / (float)GetDeviceCaps(hDC, VERTSIZE);
            ReleaseDC(IntPtr.Zero, hDC);
 
            return new SizeF(wM, hM);
        }
Добавлено через 54 минуты
Забыл добавить: вывод будет в миллиметрах.
Dimon16
Новичок
14 / 14 / 1
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 16:17  [ТС]
  #12
Спасибо!
NickoTin
Модератор
7090 / 3090 / 165
Регистрация: 14.06.2010
Сообщений: 4,231
Записей в блоге: 6
16.10.2010, 16:46     Как перевести пиксели в сантиметры?
  #13
Цитата Сообщение от Dimon16 Посмотреть сообщение
Спасибо!
Рано радуетесь также может быть и такой вариант (он описан на большинстве форумах, статьях):
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
        const int LOGPIXELSX = 88;
        const int LOGPIXELSY = 90;
...
        SizeF GetPixelSizePerMM()
        {
            IntPtr hDC = GetDC(IntPtr.Zero);
            float wM = (float)GetDeviceCaps(hDC, LOGPIXELSX) / 25.4F;
            float hM = (float)GetDeviceCaps(hDC, LOGPIXELSY) / 25.4F;
            ReleaseDC(IntPtr.Zero, hDC);
 
            return new SizeF(wM, hM);
        }
Yandex
Объявления
16.10.2010, 16:46
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C# WinForms как найти пиксели одного цвета
Мне необходимо найти все пиксели одного цвета в изображении, а затем превратить их в слои, я использую Bitmap и его свойство GetPixel(x,y) сохраняю его в переменную типа Color Bitmap layer = new...
C# Windows Forms factura122 17.05.2014 22:24
Помогите перевести 15.6 дюймов с сантиметры!
Я собираюсь покупать ноутбук http://matrix-media.ru/catalog/goods_21985.html Диагональ экрана 15.6 дюймов, однако возник вопрос: влезет ли этот ноутбук в ящик письменного стола? Помогите,...
Мониторы ramires-lord 23.12.2013 17:56
C# WinForms Как разбить изображение на пиксели
Всем здраствуйте!!! Подскажите пожалуста как в С# работат с пикселями? тоесть разбить изображение на несколько блоков,и менять каждый пиксель (глубина,контрастность и т.д)
C# Windows Forms sava-iszzi 05.11.2012 11:58
C# WPF .NET 4.x Как получить пиксели (цвета) из image
Есть Image. Как получить все цвета пикселей? А то все что нахожу не очень подходит. Колдовал с bitmapimage, но что-то не вышло.
C#: WPF и Silverlight Serg046 03.05.2012 11:16
C# WPF Как сделать скриншот браузера и обработать пиксели скриншота
Люди, помогите пожалуйста. Нужно сделать скриншот браузера и потом в цикле проверить каждый пиксель на цвет. Если быть точнее, то нужно считать с Игры@Mail.ru игры ЭРУДИТ какие буквы стоят на игровом...
C#: WPF и Silverlight 75Serega75 28.12.2011 20:42
C# Подскажите, пиксели хранящиеся в Bitmape можно обработать как двухмерный массив?
Есть координаты точки в POint pt и матрица pixels (которая по сути одномерный массив). Матрицей я её называю потомучто там храняться пиксели рисунка. Надо определить вхожддение точки поинт в...
C# .NET trinity_narod 26.10.2010 22:25
Delphi Перевести метры в сантиметры
помогите мне сделать просто метры в сантиметры Добавлено через 10 минут желательно предусматреть сплеш форму перед показом программы и звуковое оформление при выводе результата. Добавлено...
Delphi для начинающих niksss92 18.06.2010 02:29
Visual Basic .NET Как перевести твипы в пиксели?
как перевести твипы в пикселы???
Visual Basic .NET Pashka 16.08.2006 11:47
Опции темы

Текущее время: 14:11. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.