-1
色はrgba成分の値が(0,127,0,100)
であり、この色にQImage
をマークし、QImage
の赤色を読み取ると、それは異なる値、すなわち赤色成分= 50を与える。QImageのピクセルのアルファ値を含む正しい色成分を取得する方法は?
コード
m_color(QColor(0,127,0,100);
m_pen.setColor(m_color); //set Qpen color
m_painter.setPen(m_pen);
m_painter.setCompositionMode(QPainter::CompositionMode_Source);
painter->drawPixmap(Qpoint(0,0),*m_Pixmap);//m_Pixmap is QPixmap
m_painter.drawline(initialpoint,finalpoint);// draw line over transparent pixmap item
QImage img =m_Pixmap->toImage;
for (int i=0;i<img.height();i++) //col
{
for(int j=0;j<img.width();j++) //row
{
qDebug()<<qGreen(img.pixel(j,i)); /// it return 50 during traverse painter line else give 0/// but it should return 127 as red component is 127
///code
}
if(QColor(img.pixel(j,i)==m_color)/// its never true// it should true during traverse the line draw by painter on pixmap
///code
}
}
}
何もそれが直接、線を描く画家に設定されている...とm_colorはアルファがある場合
どこで 'm_pen'を使ったことがありますか?また、ペインタでアンチエイリアスが有効な場合は、実際に書き込まれた色に影響しますので注意してください。 –
はどのオブジェクトペインタに添付されていますか?最後の行は、それが 'img'であることを示唆しています。もしそうなら、この 'img'をどのように初期化しましたか(' QImage'と仮定します)?なぜ私は 'i、j'があなたが線を描くのに使った適切な色を期待しているところのイメージの一部を指していると確信していますか? –
ようこそスタックオーバーフロー!コードを問題の[mcve]にするようにコードを編集してください。そうすれば、それを再現して解決することができます。 [ask]も読んでください。 –