pxconv
— пакет на Go для работы с экранными единицами измерения
(dp
, sp
, px
, inch
, mm
, pt
) с учётом плотности экрана.
- Поддержка основных единиц:
dp
,sp
,px
,inch
,mm
,pt
. - Настраиваемая плотность экрана: параметры
PxPerDp
,PxPerSp
, иDpi
. - Конвертация единиц: удобные методы для преобразования между всеми поддерживаемыми единицами.
- Обработка некорректных значений: замена на стандартные значения (по умолчанию
1
) для предотвращения ошибок.
Для установки пакета используйте команду:
go get github.com/MiCkEyZzZ/pxconv
Ниже приведён пример работы с пакетом:
package main
import (
"fmt"
"github.com/MiCkEyZzZ/pxconv"
)
func main() {
// Создаём экземпляр Metric с настройками плотности
m := pxconv.Metric{PxPerDp: 2, PxPerSp: 1.5, Dpi: 96}
// Преобразуем 10 dp в пиксели
px := m.DpToPx(pxconv.Dp(10))
fmt.Println(px) // Вывод: 20
}
Пакет предоставляет следующие ключевые методы для преобразования единиц измерения:
- DpToPx — преобразование dp в px.
- PxToDp — преобразование px в dp.
- SpToPx — преобразование sp в px.
- PxToSp — преобразование px в sp.
- InchToPx — преобразование дюймов в px.
- PxToInch — преобразование px в дюймы.
- MmToPx — преобразование миллиметров в px.
- PxToMm — преобразование px в миллиметры.
- PtToPx — преобразование пунктов в px.
- PxToPt — преобразование px в пункты.
Полный список методов и их описание можно найти в документации.
Этот пакет распространяется под лицензией MIT. Полный текст лицензии доступен в файле ЛИЦЕНЗИЯ.