iOS 繪製1畫素線條總結

2021-07-04 15:38:16 字數 1076 閱讀 3063

先了解下scale

scale即螢幕縮放係數,根據當前裝置螢幕的大小計算的比例。

下面來看下不同幾款裝置對應的scale裝置

size

scale

4s2.000000

5/5s

2.000000

62.000000

6plus

3.000000

以上資料是根據下面**獲取scale

cgfloat scale = [uiscreen mainscreen].scale;

例項**

#define single_line_width           (1 / [uiscreen mainscreen].scale)

#define single_line_adjust_offset ((1 / [uiscreen mainscreen].scale) / 2)

linewidth = single_line_width;

cgfloat pixeladjustoffset = single_line_width;

//僅當要繪製的線寬為奇數畫素時,繪製位置需要調整

if (((int)(linewidth * [uiscreen mainscreen].scale) + 1) % 2 == 0)

uiview *line = [[uiview alloc] initwithframe:cgrectzero];

// xpos ypos

line.frame = cgrectmake(0-pixeladjustoffset, 100-pixeladjustoffset, sys_w, linewidth);

line.backgroundcolor = [uicolor redcolor];

[self

.view addsubview:line];

ios 繪製線條

新增被塞爾曲線 cgcontextmovetopoint cgcontext,150,100 移動到某乙個點 cgcontextaddcurvetopoint cgcontext,150,100,100,100,100,150 繪製被塞爾曲線,點伴隨移動,這三個引數呢,每2個為乙個引數 1.poin...

iOS繪製1畫素的線

有時候頁面上需要繪製1畫素的分隔線,可以通過新增 view 的方式,也可以通過 uigraphicsgetcurrentcontext 的方式實現。但是通過uigraphicsgetcurrentcontext實現的時候需要注意畫素的問題。在繪製1畫素線之前,我們先來看一下繪製高度為50的線是什麼樣...

WPF 繪製對齊畫素的清晰顯示的線條

原文 wpf 繪製對齊畫素的清晰顯示的線條 此前有小夥伴詢問我為何他 1 畫素的線條顯示發虛,然後我告訴他是 畫素對齊 的問題,然而他設定了各種對齊畫素的屬性依舊沒有作用。於是我對此進行了一系列試驗,對 wpf 畫素對齊的各種方法進行了一次總結。此後在 stackoverflow 中,我回答了 gr...