Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/188: Рейтинг темы: голосов - 188, средняя оценка - 4.81
14 / 14 / 2
Регистрация: 09.06.2010
Сообщений: 35

Как перевести пиксели в сантиметры?

15.10.2010, 22:31. Показов 34314. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как перевести пиксели в сантиметры?
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2010, 22:31
Ответы с готовыми решениями:

Как перевести пиксели в сантиметры?
Допустим, у меня есть программа которая рисует круг строго с определенным диаметром(в см), далее сохраняет в виде картинки. Как написать...

Перевести сантиметры в дюймы
Написать программу которая переводит дюймы в сантиметры и наоборот, в 1 дюйме = 2.54 см

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

12
 Аватар для tasty_sock
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
15.10.2010, 23:57
От разрешения зависит. Пиксель - это точка на экране, размер может варьироваться.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
16.10.2010, 00:10
dpi - dot per inch (точек на дюйм). Если допустим, установлено 96 dpi, то в дюйме (а это 2,54 см) их будет как раз 96 штук. Исходя из этого, на сантиметр (один) их будет 96 / 2,54 = 37,795......
0
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
16.10.2010, 02:42
Скорее всего проблема именно в определении dpi монитора в данный момент.
0
14 / 14 / 2
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 10:02  [ТС]
Мне нужно узнать сколько в сантиметрах Height,Width изображения?
Как определить сколько точек в дюйме?
0
633 / 376 / 7
Регистрация: 25.05.2010
Сообщений: 1,372
16.10.2010, 10:50
Цитата Сообщение от Dimon16 Посмотреть сообщение
Как определить сколько точек в дюйме?
В свойствах изображения. Если это в виде графического файла.
А про какое изображение у вас речь - не понятно. Опишите проблему более подробно.
0
24 / 4 / 2
Регистрация: 03.09.2009
Сообщений: 73
16.10.2010, 10:58
Я конечно не уверен, но почему-то мне кажется что в зависимости от качества изображения, размер точки, то есть пикселя, может варьироваться...
Ну и соответственно их количество в сантиметре тоже не постоянно...
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
16.10.2010, 11:17
так не надо чтоб казалось, ндо просто прочитать параметрв файла - там будет все просто и понятно. у файла картинки есть данные о его разрешении в dpi и непосредственно размер в пикселах. допустим, разрешение файда 96 dpi и размер 1024 х 768. осталось сделать простое действие - поделить размеры в пикселях на значение dpi и получатся размеры в дюймах, потом поделить еще на 2,54 и получатся в сантиметрах...
0
14 / 14 / 2
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 11:23  [ТС]
Походу это свойства:HorizontalResolution,VerticalRe solution!
0
16.10.2010, 13:51

Не по теме:

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

0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
16.10.2010, 15:39
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 минуты
Забыл добавить: вывод будет в миллиметрах.
0
14 / 14 / 2
Регистрация: 09.06.2010
Сообщений: 35
16.10.2010, 16:17  [ТС]
Спасибо!
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
16.10.2010, 16:46
Цитата Сообщение от 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);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2010, 16:46
Помогаю со студенческими работами здесь

Как перевести пиксели в сантиметры?
Нужно определить ширину экрана в сантиметрах. Как это сделать в пикселях, я знаю, но как перевести в сантиметры, ведь все экраны разные?...

Перевести сантиметры в километры метры и сантиметры
Перевести сантиметры в километры метры и сантиметры в в соответствии с разрядами Пример:376522,5 см = 3 км 765 м 22 см

Как перевести твипы в пиксели?
как перевести твипы в пикселы???

Сантиметры перевести в пойнты
Какое соотношение единиц сантиметры - пойнты при рисовании shapes.AddShape(Type, Left, Top, Width, Height) параметры указываются в...

Перевести метры в сантиметры
помогите мне сделать просто метры в сантиметры Добавлено через 10 минут желательно предусматреть сплеш форму перед показом программы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru