渐变和填充02

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

# python:2.x

__author__ = ‘Administrator‘

from PyQt4.QtGui import  *

from PyQt4.Qt import *

from PyQt4 import QtGui, QtCore

from PyQt4.QtCore import *

import sys

#色轮(color wgeel),概念:一个带有颜色的圆盘

class Painterd(QWidget):

def __init__(self):

super(Painterd,self).__init__()

self.resize(400,300)

self.setWindowTitle(‘paint‘)

def paintEvent(self, e):

paint=QPainter(self)

paint.setRenderHint(paint.Antialiasing)

conicalGradient=QConicalGradient(0,0,0)

#QConicalGradient::QConicalGradient ( qreal cx, qreal cy, qreal angle)

#cx  和  cy  组成角度渐变的中心点,第三个参数是渐变的起始角度

conicalGradient.setColorAt(0.,Qt.red)

#角度渐变的setColorAt()函数同样接受两个参数,第一个是角度比例,第二个是颜色

conicalGradient.setColorAt(60./360,Qt.yellow)

conicalGradient.setColorAt(120./360.,Qt.green)

conicalGradient.setColorAt(180./360.,Qt.cyan)

conicalGradient.setColorAt(240./360.,Qt.blue)

conicalGradient.setColorAt(300./360.,Qt.magenta)

conicalGradient.setColorAt(360./360.,Qt.red)

r=150

paint.translate(r,r)

#,将坐标系的原点设置到(x, y)  点。原本坐标系原点位于左上角,

# 我们使用 translate(r, r),将坐标原点设置为  (r, r)。这么一来,左上角的点的坐标就应该是  (-r, -r)

brush=QBrush(conicalGradient)

paint.setPen(Qt.NoPen)

paint.setBrush(brush)

paint.drawEllipse(QPoint(0,0),r,r)

#注意,由于我们已经把坐标原点设置为  (r, r),

# 因此,在绘制时,圆心应该是新的坐标  (0, 0),而不是原来的  (r, r)

def main():

app = QtGui.QApplication(sys.argv)

ex =Painterd()

ex.show()

sys.exit(app.exec_())

if __name__ == ‘__main__‘:

main()

如图:

-------------------------------

为了理解 translate()函数的作用

def paintEvent(self, e):

paint=QPainter(self)

paint.setRenderHint(paint.Antialiasing)

conicalGradient=QConicalGradient(0,0,0)

conicalGradient.setColorAt(0.,Qt.red)

conicalGradient.setColorAt(60./360,Qt.yellow)

conicalGradient.setColorAt(120./360.,Qt.green)

conicalGradient.setColorAt(180./360.,Qt.cyan)

conicalGradient.setColorAt(240./360.,Qt.blue)

conicalGradient.setColorAt(300./360.,Qt.magenta)

conicalGradient.setColorAt(360./360.,Qt.red)

r=150

paint.translate(r,r)

brush=QBrush(conicalGradient)

paint.setPen(Qt.NoPen)

paint.setBrush(brush)

paint.drawEllipse(QPoint(r,r),r,r)#修改后的代码

如图:

渐变和填充02

时间: 2024-08-05 16:00:43

渐变和填充02的相关文章

渐变和填充01

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #渐变和填充 #说明 """ 简单来说就是可以把几种颜色混合在一起,让它们能够自 然地过渡,而不是一下子变成另一种颜色.渐变的算法比较复杂,写得不好的话效率会很低, 好在很多绘图系统都内置了渐变的功能, Qt  也不例外.渐变一般是用在填充里面的,所以, 设置渐变是在 QBrush 里面. """ #在qt中3种渐变

SVG颜色、渐变和填充

颜色 RGB和HSL都是CSS3支持的颜色表示方法,一般普遍使用是RGB.PS:HSL浏览器兼容. RGB RGB即是代表红.绿.蓝三个通道的颜色,通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的. 表示方式 取值范围 优点 缺点 rgb(r, g, b) [0, 255] 每个分量 显示器容易分析, 目前的显示器大都是采用了RGB颜色标准 不符合人类描述颜色的习惯 #rrggbb 00 - FF 十六进制正整数     例子: HSL HSL即是

[转]html5 Canvas画图4:填充和渐变

一般绘图的方式有两种,即填充和描边,前面的文章已经讲了描边的方法stroke,本文就讲一下Canvas中填充图形的方法. 填充即fill(),很直白吧?而且和strokeStyle表示描边样式一样,fillStyle即表示填充样式. ctx.fillStyle = '颜色';默认的填充样式是不透明的黑色 提问:未闭合的路径可以填充吗? 可以.Canvas会从你当前路径的终点直接连接到起点,然后填充.如图: 但你可以发现,最后一段没有描边. 记得我们前一篇文章用4条线画了一个正方形,但canvas

Photoshop 画布的渐变填充

之前丢掉的要开始慢慢的捡起来,因为学如逆水行舟,不进则退.古人诚不欺我等. 1.新建图层,或者就在当前图层进行操作,选择图层 2.工具箱---1渐变工具---2径向渐变---模式--正常.不透明100%---3颜色的更改 3,渐变编辑器 ,上图第一个箭头所指,单击,进行编辑: 4.双击上图箭头处选择颜色,之后点击确认. 5.在所需图层进行鼠标按下拖拽进行渐变的填充,之后松开鼠标效果如下. 原文地址:https://www.cnblogs.com/allyh/p/10798056.html

《CSS3实战》笔记--渐变设计(三)

通过阅读和学习书籍<CSS3实战>总结 <CSS3实战>/成林著.-北京机械工业出版社2011.5 IE浏览器引擎的CSS渐变实现方法 IE并不支持CSS渐变,但是提供了渐变滤镜,可以用来实现简单的渐变效果. 基本语法 filter:progid:DXImageTransform.Microsoft.Gradient(enabled=bEnabled,strartColorStr=iWidth,endColorStr=iWidth) 该参数的参数说明如下: enabled:设置或检

HTML5简明教程-1.1.4.HTML5Canvas参考手册 之 线性渐变 createLinearGradient

本文连接:http://blog.csdn.net/tomorrow13210073213/article/details/42453769 转载请注明出处 HTML5的canvas为我们提供了类似于CSS3中linear-gradient属性定义的渐变效果,用createLinearGradient()方法可以创建基于画布的线性渐变,创建好的线性渐变可以用于填充路径.定义笔触等.同时,HTML5也为我们提供了createRadialGradient()方法用于创建放射渐变,我们将在另一篇博文中

【一天一个canvas】绘制一个线性渐变的矩形(五)

渐变是填充的一种相当不错的效果,结合实例2和实例3,我们可以创建一个渐变的矩形 <!doctype html> <html> <head> <meta charset="UTF-8"> </head> <style type="text/css"> canvas{border:dashed 2px #CCC} </style> <script type="text/j

自定义控件(阴影,渐变)

一.阴影: Paint 类定义了一个名为 setShadowLayer 的方法: public void setShadowLayer(float radius,float dx,float dy,int shadowColor), 参数意义如下: radius:阴影半径 dx: x 方向阴影的偏移量 dy: y 方向阴影的偏移量 shadowColor: 阴影的颜色 阴影layer显示 影时,shaderlayer 有 两 种 类 型 : View.LAYER_TYPE_SOFTWARE 和V

【浅墨Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)——自定义光照模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/plus/view.php?aid=183 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] QQ交流群:330595914 更多文章尽在:http://www.hpw123.net 本文主要讲解了Unity中SurfaceShader的自定义光照模式的写法. 上篇文章中我们已经说到,表面着色器将分为两次讲解,上