void Pictogramm::addBlankPictogramm(QColor c,int w,int h)
{
QPixmap *pm = new QPixmap(w,h);
QPainter p(pm);
p.fillRect(0,0,w,h,c);
p.end();
state.push_back(pm);
stateAmount++;
}
В этой процедуре я пытаюсь создать пустую pixmap, но если на вход подать цвет со значением альфа канала <255 заливает черным и вижу артефакты. Другие pixmap, с альфа взятым из png файла отображаются правильно.
void Pictogramm::addPictogramm(QString path){
state.push_back(new QPixmap(path));
stateAmount++;
}
Pixmap в последствии отрисовываются вот так:
void Pictogramm::paintEvent(QPaintEvent *e)
{
if (!state.empty())
{
QPainter p(this);
QPixmap *pm=new QPixmap(state[currentState]->scaled(this->width(),this->height(),Qt::IgnoreAspectRatio));
p.fillRect(0,0,width(),height(),QBrush(*pm));
p.end();
}
}