QT cairo的使用

因为个人觉得QT提供的抗锯齿效果没有cairo的好,gtk不如qt流行,Qt支持cairo

首先创建一张图QImage

        m_imagePix = new QImage(e->rect().width(),e->rect().height(),QImage::Format_ARGB32);

其次将此图转换为cairo图

        unsigned char* pData =m_imagePix->bits();
        int iLineStride = m_imagePix->bytesPerLine();
        m_CairoSurface = cairo_image_surface_create_for_data
                (pData,CAIRO_FORMAT_ARGB32,m_imagePix->width(),m_imagePix->height(),iLineStride);
        cairo_surface_set_device_scale(m_CairoSurface,1,1);
        m_cr_main = cairo_create(m_CairoSurface);
关于cairo库的使用就不介绍了,使用m_cr_main就可以画图了,画图结束通过 pp.drawImage(0,0,*m_imagePix,0,0,-1,-1);进行贴图就可以了
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值