Я просто хочу знать, является ли элемент пикселя чем-то, что не меняется, и если мы можем конвертировать из пикселей, чтобы сказать сантиметры?
Пиксель до сантиметра?
Ответ 1
Как и этот вопрос, который спрашивает о точках вместо сантиметров. Есть 72 точки на дюйм и 2,54 см на дюйм, поэтому просто замените 2,54 на 72 в ответе на этот вопрос. Я приведу и исправлю свой ответ здесь:
Есть 2,54 сантиметра на дюйм; если достаточно принять 96 пикселей на дюйм, формула довольно проста:
сантиметры = пиксели * 2,54/96
Существует способ получить настроенные пиксели на дюйм вашего дисплея для Microsoft Windows под названием GetDeviceCaps. В Microsoft есть руководство под названием "Разработка приложений DPI-Aware", найдите раздел "Создание шрифтов DPI-Aware".
Ответ 2
Преобразование пикселей в сантиметры зависит от DPI (точек на дюйм) носителя, отображающего изображение, то есть монитора, лазерного принтера и т.д.
http://wiki.answers.com/Q/How_do_you_convert_pixels_into_centimeters
Ответ 3
Я собираюсь выйти на конечность и просто догадываюсь, что вы хотите показывать вещи пользователю на своем мониторе, масштабируясь, чтобы быть очень близким к его реальному размеру жизни.
ЕСЛИ это так, я бы рекомендовал либо отображать ваши предметы рядом с предметами реальной жизни (кредитные карты, долларовые купюры, попсовые банки и т.д.), либо даже лучше, позволить пользователю удерживать что-то на экране, как кредит карточная или долларовая купюра или линейка. Затем вы можете масштабировать слайдер или что-то подобное, чтобы соответствовать ширине или высоте этого объекта.
Держа кредитную карту, что-то с относительно известной высотой и шириной, вплоть до экрана, вы можете легко определить отношение пикселей к дюймам и использовать это в своем сердце.
Большинство кредитных карт выдаются местными банками или кредитными союзами и являются формой и размером, указанными стандартом ISO/IEC 7810 как ID-1 (85.60 × 53.98 мм)
Используя mspaint, моя кредитная карта имеет ровно 212 пикселей, то есть 53,98 мм /212 пикселей = 3,92 пикселя на мм. Умножьте на 10 и на 39,2 пикселя на см.
Вы можете ЛЕГКО выполнить это программно через javascript, С#, flash, все, что вам нужно.
Ответ 4
Вы можете конвертировать из пикселей в сантиметры, но это не последовательное преобразование. Это будет зависеть от размера и разрешения отображаемого устройства. Определение пикселя не изменится, но размер пикселя будет меняться на разных устройствах отображения.
Ответ 5
Нет, разные среды и мониторы имеют разную плотность пикселей.
Например, монитор рабочего стола может иметь 75 пикселей на дюйм, тогда как печать может выводиться на 300.
Ниже приведен список дисплеев по плотности пикселей
Ответ 6
В Adobe Illustrator CS3:(, цифра, которую я получаю, составляет 1 см = 28.347 пикселей. Примечание. Я использую iMac 7., который имеет разрешение 102 пикселя на дюйм, 40 ppcm в соответствии со ссылкой http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density, предоставленный rebo.
Я создал документ Adobe Illustrator CS3 с использованием javascript для проверки значения 1 см = 28.347 пикселей и идеально подходит.
Я знаю, что этот вопрос очень старый, но я пытался найти ответ на него и решил поделиться своими выводами.
Привет
Ответ 7
Размер пикселей изменяется в зависимости от устройства отображения.
Следующий "найденный" код использует api-вызовы для определения плотности пикселей Получить экран DPI в .NET
( "Найдено", как в я googled, но не пробовал)
Ответ 8
Насколько я понимаю, PIXEL:
Элемент изображения
Таким образом, это зависит от двух вещей:
(a) Разрешение (b) Физический размер экрана
Таким образом, если вы делите размер экрана по разрешению, это должно дать вам CM на пиксель.
Ответ 9
Пиксельная система состоит в том, что это зависит от вашего разрешения экрана. Ну, во-первых, вы должны получить dpi (плотность пикселей на дюйм) вашего экрана. Например, ваш экран dpi 96;
1 см = 37,795276F пикселей в 96 точек на дюйм.
37,795276F/96F = 0,03937007F, что составляет каждый пиксель в 1dpi.
Теперь вы можете сделать его адаптированным к вашему экрану, получив текущее разрешение экрана и умножив его на 0,03937007F. тогда у вас есть каждый сантиметр в вашем желании точек на дюйм (разрешение экрана)
давайте установим сценарий.
Я хочу сделать метод, который получает CM и возвращает основание пикселей на экране Dpi;
public float CentimeterToPixel(int valueCM, float dpi)
{
return 0.03937007F * dpi * valueCM;
}
если вы хотите сделать его более точным, вы должны приблизиться к dpiX и dpiY.
Например, в С# winforms Вы можете добавить объект Graphics из System.Drawing и System.Drawing.Drawing2D, затем получить его значение dpiX & dpiY и спроектировать свою область на его основе, чтобы иметь более точный расчет (в некоторых случаях разрешение по горизонтали отличается от по вертикали). Смотрите код ниже.
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace MyApp
{
static class MyAppClass
{
private static Bitmap bmp = new Bitmap(1, 1);// a simple bitmap that automaticaly created base on current screen resolution
private static Graphics graphic = Graphics.FromImage(bmp);
public static float CentimeterToPixelWidth(int valueCM)
{
return 0.03937007F * graphic.DpiX * valueCM;
}
public static float CentimeterToPixelHeight(int valueCM)
{
return 0.03937007F * graphic.DpiY * valueCM;
}
}
}
Хочу помочь тебе, Гейдар.
Ответ 10
Разве разрешение не меняет точек на дюйм? Потому что, как и в случае с более высоким разрешением, вам нужны меньшие точки.