this is my code:
void FigureEditor
::contentsMousePressEvent(QMouseEvent* e
) {
QPoint p
= inverseWorldMatrix
().
mp(e
->pos
());
QPoint tmpPointEdit
= e
->pos
();
QCanvasItemList l=canvas()->collisions(p);
QCanvasItemList::Iterator it = l.begin();
ImageItem *item;
for (it; it!=l.end(); ++it) {
if ( (*it)->rtti() == imageRTTI ) {
item = (ImageItem*)(*it);
if ( !item->hit( p ) )
continue;
}
tmpPointEdit = p;
moving = *it;
moving_start = p;
break;
}
int ix = tmpPointEdit.x();
int iy = tmpPointEdit.y();
QRgb newPixel = img -> pixel( ix, iy );
}
void FigureEditor::contentsMousePressEvent(QMouseEvent* e)
{
QPoint p = inverseWorldMatrix().mp(e->pos());
QPoint tmpPointEdit = e->pos();
QCanvasItemList l=canvas()->collisions(p);
QCanvasItemList::Iterator it = l.begin();
ImageItem *item;
for (it; it!=l.end(); ++it) {
if ( (*it)->rtti() == imageRTTI ) {
item = (ImageItem*)(*it);
if ( !item->hit( p ) )
continue;
}
tmpPointEdit = p;
moving = *it;
moving_start = p;
break;
}
int ix = tmpPointEdit.x();
int iy = tmpPointEdit.y();
QImage *img = (QImage*)(*it);
QRgb newPixel = img -> pixel( ix, iy );
}
To copy to clipboard, switch view to plain text mode
this code is one part of example: http://doc.trolltech.com/3.3/canvas-example.html
i have edited code in pressmouse method .
RUN:
+ First: i draw Rect with Red color on canvas. and use canvasview to show it.
+Second: i click on Rect. I want to get color at position when i press mouse. And save it into newPixel variable.
--> i wrong?
Bookmarks