QT 类及其实现效果(7)–坐标,svg,alpha

  • Post author:
  • Post category:其他


坐标变换

QPainter p(this);

p.translate(200,200); //  把窗体的坐标原点移到中心点

p.rotate(angle);//旋转

p.scale(scale,scale);//缩放

p.translate(translate,translate);//改变坐标中心点,平移

p.shear(shear,shear);//?

SVG格式显示

SVG全称是Scalable vector graphics,即可缩放的矢量图形。它是由W3C(万维网联盟)在2000年8月

制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。

Qt为SVG格式的图形显示与生成提供了专门的QtSvg模块。

重要的类:QSvgWidget,QSvgRender,QGraphicsSvgItem

由于Qt默认生成的Makefile中只会加入QtGui、QtCore模块的库,因此,必须在工程文件xxx.pro中

加入一行:

QT+=svg

void SvgWidget::wheelEvent(QWheelEvent * e)

{

if (e->delta() > 0) {}

}

e->delta() > 0,向前滑动

e->delta()<0,向后滑动

继承自QScrollArea类,是一个带滚动条的显示区域。

记录位置

horizontalScrollBar()->value();

verticalScrollBar()->value();

更新

horizontalScrollBar()->update();

verticalScrollBar()->update();

颜色混合



获得通道值

int alpha = qAlpha(img->pixel(w,h));

获取颜色值

int red = qRed(bkColor.rgb());

int green = qGreen(bkColor.rgb());

int blue = qBlue(bkColor.rgb());

dst.setPixel(w,h,qRgb(red,green,blue));

QSlider设置

QSlider *slider = new QSlider;

slider->setRange(0,100);

slider->setTickInterval(10);//设置步进值

slider->setOrientation(Qt::Horizontal);

slider->setValue(100);



版权声明:本文为yongan1006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。