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

坐标变换
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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值