void ZDvidTile::display( ZPainter &painter, int slice, EDisplayStyle /*option*/) const { bool isProj = false; int z = painter.getZOffset() + slice; if (slice < 0) { isProj = true; z = painter.getZOffset() - slice - 1; } //if (!m_image.isNull()) { // bool isProj = (slice < 0); // int z = painter.getZOffset() + slice; m_latestZ = z; // tic(); const_cast<ZDvidTile&>(*this).update(z); // std::cout << "tile update time: " << toc() << std::endl; if ((z == m_z) && (m_image != NULL)) { #ifdef _DEBUG_2 std::cout << "Display tile: " << z << std::endl; #endif // ZImage image = getImage(); //int dx = getX() - painter.getOffset().x(); //int dy = getY() - painter.getOffset().y(); // QRect sourceRect = QRect(0, 0, m_image.width(), m_image.height()); // QRect targetRect = QRect(getX(), getY(), m_image.width() * m_res.getScale(), // m_image.height() * m_res.getScale()); #if 0 if (m_res.getScale() == 1) { m_image.save((GET_DATA_DIR + "/test.tif").c_str()); } #endif // m_image->enhanceContrast( // hasVisualEffect(NeuTube::Display::Image::VE_HIGH_CONTRAST)); // QElapsedTimer timer; // timer.start(); // tic(); painter.drawPixmap(getX(), getY(), m_pixmap); // painter.drawImage(getX(), getY(), *m_image); // std::cout << "Draw image time: " << toc() << std::endl; // std::cout << "Draw image time: " << timer.elapsed() << std::endl; // ZIntPoint pt = m_offset - painter.getOffset().toIntPoint(); // painter.save(); // QTransform transform; // transform.scale(m_res.getScale(), m_res.getScale()); // transform.translate(getX(), getY()); // //transform.translate(pt.x(), pt.y()); // painter.setTransform(transform); // painter.drawImage(m_image); // painter.restore(); //} } }