setRenderHint 設置渲染提示 公共函數


setRenderHint(QPainter::RenderHint hint, bool on=true) 公共函數用於設置渲染操作,譬如:

操作 說明 備注
QPainter::Antialiasing 0x01 盡可能消除圖元邊緣鋸齒。 常用
QPainter::TextAntialiasing 0x02 盡可能消除文本鋸齒。

要強製禁用文本抗鋸齒,不要使用此提示。

應在字體樣式策略中設置 QFont::NoAntialias。

QPainter::SmoothPixmapTransform 0x04 使用平滑像素圖變換算法 (譬如:雙綫性) 而不是最近相鄰。
QPainter::VerticalSubpixelPositioning 0x08

將文本定位在垂直和水平方嚮的像素分數處,若字體引擎支持。

目前所有平颱中的 Freetype 都支持這,當提示首選 QFont::PreferNoHinting,及在 macOS。

這種用例可能是將字形與其它視覺原語對齊。

該值在 Qt 6.1 添加。

對於大多數用例,這不會提高視覺品質,但可能增加內存消耗且會降低一些文本渲染性能。

因此,不推薦啓用此除非用例要求。

QPainter::LosslessImageRendering 0x40

使用無損圖像渲染,每當可能時。

該值在 Qt 5.13 添加。

此提示纔使用,當 QPainter 用於輸齣 PDF 文件透過 QPrinter or QPdfWriter,調用 drawImage()/drawPixma () 將使用無損壓縮算法而不是有損 JPEG 壓縮編碼圖像。

QPainter::NonCosmeticBrushPatterns 0x80

當采用具有某一預定義圖案樣式的筆刷進行描繪時,還要沿描繪對象變換圖案。

該值在 Qt 6.4 添加。

默認是將圖案視為化妝,以便將圖案像素直接映射到設備像素,獨立於任何活動變換。

setRenderHint 公共函數必須放在 QPainter 描繪器 begin(QPaintDevice * device) 公共函數後。

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。

上一話題

setPen 公共函數

下一話題

begin 公共函數

快速搜索