qt反走样(简选)

# -*- coding: utf-8 -*-

# python:2.x

__author__ = ‘Administrator‘

#qt反走样(简选)

#概念

"""

在光栅图形显示器上绘制非水平、非垂直的直线或多边形边界时,或多或少会呈现锯齿

状外观。这是因为直线和多边形的边界是连续的,而光栅则是由离散的点组成。在光栅显示

设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,

就叫走样;用于减少或消除这种效果的技术,就称为反走样

"""

#说明:反走样是图形学中的重要概念,用以防止“锯齿”现象的出现。很多系统的绘图API里面都会内置了反走样的算法,不过默认一般都是关闭的

from PyQt4.QtGui import  *

from PyQt4.Qt import *

from PyQt4 import QtGui, QtCore

from PyQt4.QtCore import *

import sys

class Painterd(QWidget):

def __init__(self):

super(Painterd,self).__init__()

self.resize(800,600)

self.setWindowTitle(‘paint‘)

#画笔

def paintEvent(self, e):

paint=QPainter(self)

paint.setPen(QPen(Qt.black,5,Qt.DashDotDotLine,Qt.RoundCap))#创建了一个黑色 5像素宽的画笔,使用了点线的样式,圆形笔帽

paint.setBrush(Qt.yellow)

paint.drawEllipse(50,150,200,150)

paint.setRenderHint(paint.Antialiasing,True)#Antialiasing 属性(也就是反走样)设置为True,就打开了 QPainter 的反走样功能。还记得我们曾经说过

paint.setPen(QPen(Qt.black,5,Qt.DashDotDotLine,Qt.RoundCap))

paint.setBrush(Qt.yellow)

paint.drawEllipse(300,150,200,150)

def main():

app = QtGui.QApplication(sys.argv)

ex =Painterd()

ex.show()

sys.exit(app.exec_())

if __name__ == ‘__main__‘:

main()

#更多学习内容:http://devbean.blog.51cto.com/448512/237447/

如图:

qt反走样(简选)

时间: 2024-07-29 16:06:08

qt反走样(简选)的相关文章

Qt 学习之路 2(26):反走样

博客转载自:https://www.devbean.net/2012/11/qt-study-road-2-antialiasing/ 我们在光栅图形显示器上绘制非水平.非垂直的直线或多边形边界时,或多或少会呈现锯齿状外观.这是因为直线和多边形的边界是连续的,而光栅则是由离散的点组成.在光栅显示设备上表现直线.多边形等,必须在离散位置采样.由于采样不充分重建后造成的信息失真,就叫走样:用于减少或消除这种效果的技术,就称为反走样. 反走样是图形学中的重要概念,用以防止通常所说的"锯齿"现

图形学复习4——光栅化(画线画圆扫描线反走样算法)

图形学复习 CH7 光栅化 前几章介绍了几何处理和裁剪变换,接下来的步骤就是光栅化 光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素 7.1 线段生成算法 (1)DDA画线算法 设直线表达式为y=mx+b,输入直线两端点坐标(x0,y0)和(xend,yend),可以计算出m=yend?y0xend?x0和b=y0?m?x0 DAA是基于微分运算的线段生成算法,其主要计算式便是δy=mδx: 若|m|≤1则x方向的变化大于y方向的变化,以x方

图形学中的贴图采样、走样与反走样等

计算机图形学中不可避免的会涉及到图像分析与处理的相关知识,前些时间也重温了下常用到的采样.重建以及纹理贴图等内容,并对其中的走样与反走样有了更多的认识,这里小结一下. 1. 基本问题 信号的采样与重建过程中首先面临着两个基本的问题: 给定一个连续的信号g(x)以及它的离散采样信号gs(x),能否通过gs(x)来完整的描述g(x) 的信息: 如果可以,如何通过gs(x)来重建出原始信号g(x). 这些通过对信息进行频域的分析即可得到相应的结论. 2. 采样 将一处于空间域(或时域)内的信号向频域进

NeHe OpenGL教程 第四十六课:全屏反走样

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十六课:全屏反走样 全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据.看看吧,驱动程序为你做完了一切. 在图形的绘制中,直线的走样是非常影响美观的,我们可以使用反走样解决这个问题.在众多的解决

计算机图形学 彩色直线段的反走样(5)

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/40083207 本文通过一个完整的例子来演示彩色直线段的反走样. 1)创建CP2类 头文件:P2.h // P2.h: interface for the CP2 class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_P2_H__DD23

渲染反走样点

场景 渲染点的时候,如果尺寸比较大,实际上是一个矩形,需要采用反走样技术.使用反走样要启用混合操作, 确保显卡的反走样设置是用户控制或者打开的. 代码 #include <GL/glut.h> void myDisplay(void) { glClearColor(1.0f, 1.0f, 1.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_POINT_SMOOTH); glEnable(GL_BLEND); glBlendFunc(GL

计算机图形学 直线反走样Wu算法(4)

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/40048285 本文通过一个完整的实例来演示,直线反走样Wu算法. 1)创建CP2类 头文件:P2.h // P2.h: interface for the CP2 class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_P2_H__DD2

Opengl研究4.0 走样与反走样

DionysosLai([email protected]) 2014-06-25 走样与反走样,也叫混淆与反混淆.所谓走样,是由于使用离散量(像素)表示连续量(图形)而引起的失真. 走样现象: 1.      阶梯状的图形边界 如图所示: 由于像素点是一块一块的,存在锯齿状. 2.       图形细节失真 由于显示图形的最小单位为像素,像素是由宽度的.有时候,我们可能显示的线段比像素要窄,要小.那么可能出现两种情况:a. 如果显示的线段宽度比像素宽度小一点,将被保留:b. 如果线段很细,就不

opengl 反走样 混合 多重采样 blend multisample

1. 反走样         在光栅图形显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状或台阶状外观.这是因为直线.多边形.色彩边界等是连续的,而光栅则是由离散的点组成,在光栅显示设备上表现直线.多边形等,必须在离散位置采样.由于采样不充分重建后造成的信息失真,就叫走样(aliasing).而用于减少或消除这种效果的技术,就称为反走样(antialiasing). 2. OpenGL反走样的实现 OpengL中的反走样采用的是融合的技术,来实现点.线和图形的边沿以及雾和颜色和