本文整理汇总了C++中QImage函数 的典型用法代码示例。如果您正苦于以下问题:C++ QImage函数的具体用法?C++ QImage怎么用?C++ QImage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了QImage函数 的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: return
QImage FileFormat::readThumbnail(const QString& fileName) const
{
return (plug && load && thumb) ? plug->readThumbnail(fileName) : QImage();
}
开发者ID:luzpaz, 项目名称:scribus, 代码行数:4, 代码来源:loadsaveplugin.cpp
示例2: QFileInfo
QImage XfigPlug::readThumbnail(QString fName)
{
QFileInfo fi = QFileInfo(fName);
baseFile = QDir::cleanPath(QDir::toNativeSeparators(fi.absolutePath()+"/"));
double w=0.0, h=0.0, x=0.0, y=0.0;
parseHeader(fName, x, y, w, h);
docX = x;
docY = y;
if (w == 0.0)
w = PrefsManager::instance()->appPrefs.docSetupPrefs.pageWidth;
if (h == 0.0)
h = PrefsManager::instance()->appPrefs.docSetupPrefs.pageHeight;
docWidth = w - x;
docHeight = h - y;
progressDialog = NULL;
m_Doc = new ScribusDoc();
m_Doc->setup(0, 1, 1, 1, 1, "Custom", "Custom");
m_Doc->setPage(docWidth, docHeight, 0, 0, 0, 0, 0, 0, false, false);
m_Doc->addPage(0);
m_Doc->setGUI(false, ScCore->primaryMainWindow(), 0);
baseX = m_Doc->currentPage()->xOffset();
baseY = m_Doc->currentPage()->yOffset();
Elements.clear();
CustColors.clear();
importedColors.insert(0, "Black");
importedColors.insert(1, "Blue");
importedColors.insert(2, "Green");
importedColors.insert(3, "Cyan");
importedColors.insert(4, "Red");
importedColors.insert(5, "Magenta");
importedColors.insert(6, "Yellow");
importedColors.insert(7, "White");
importedColors.insert(8, "Blue4");
importedColors.insert(9, "Blue3");
importedColors.insert(10, "Blue2");
importedColors.insert(11, "LtBlue");
importedColors.insert(12, "Green4");
importedColors.insert(13, "Green3");
importedColors.insert(14, "Green2");
importedColors.insert(15, "Cyan4");
importedColors.insert(16, "Cyan3");
importedColors.insert(17, "Cyan2");
importedColors.insert(18, "Red4");
importedColors.insert(19, "Red3");
importedColors.insert(20, "Red2");
importedColors.insert(21, "Magenta4");
importedColors.insert(22, "Magenta3");
importedColors.insert(23, "Magenta2");
importedColors.insert(24, "Brown4");
importedColors.insert(25, "Brown3");
importedColors.insert(26, "Brown2");
importedColors.insert(27, "Pink4");
importedColors.insert(28, "Pink3");
importedColors.insert(29, "Pink2");
importedColors.insert(30, "Pink");
importedColors.insert(31, "Gold");
CustColors.insert("Blue", ScColor(0, 0, 255));
CustColors.insert("Blue4", ScColor(0, 0, 144));
CustColors.insert("Blue3", ScColor(0, 0, 176));
CustColors.insert("Blue2", ScColor(0, 0, 208));
CustColors.insert("LtBlue", ScColor(135, 206, 255));
CustColors.insert("Cyan", ScColor(255, 0, 0, 0));
CustColors.insert("Cyan4", ScColor(0, 144, 144));
CustColors.insert("Cyan3", ScColor(0, 176, 176));
CustColors.insert("Cyan2", ScColor(0, 208, 208));
CustColors.insert("Green", ScColor(255, 0, 255, 0));
CustColors.insert("Green4", ScColor(0, 144, 0));
CustColors.insert("Green3", ScColor(0, 176, 0));
CustColors.insert("Green2", ScColor(0, 208, 0));
CustColors.insert("Red", ScColor(0, 255, 255, 0));
CustColors.insert("Red4", ScColor(144, 0, 0));
CustColors.insert("Red3", ScColor(176, 0, 0));
CustColors.insert("Red2", ScColor(208, 0, 0));
CustColors.insert("Yellow", ScColor(0, 0, 255, 0));
CustColors.insert("Magenta", ScColor(0, 255, 0, 0));
CustColors.insert("Magenta4", ScColor(144, 0, 144));
CustColors.insert("Magenta3", ScColor(176, 0, 176));
CustColors.insert("Magenta2", ScColor(208, 0, 208));
CustColors.insert("Brown4", ScColor(128, 48, 0));
CustColors.insert("Brown3", ScColor(160, 64, 0));
CustColors.insert("Brown2", ScColor(192, 96, 0));
CustColors.insert("Pink4", ScColor(255, 128, 128));
CustColors.insert("Pink3", ScColor(255, 160, 160));
CustColors.insert("Pink2", ScColor(255, 192, 192));
CustColors.insert("Pink", ScColor(255, 224, 224));
CustColors.insert("Gold", ScColor(255, 215, 0));
m_Doc->setLoading(true);
m_Doc->DoDrawing = false;
m_Doc->scMW()->setScriptRunning(true);
QString CurDirP = QDir::currentPath();
QDir::setCurrent(fi.path());
if (convert(fName))
{
tmpSel->clear();
QDir::setCurrent(CurDirP);
if (Elements.count() > 1)
m_Doc->groupObjectsList(Elements);
m_Doc->DoDrawing = true;
m_Doc->m_Selection->delaySignalsOn();
QImage tmpImage;
//.........这里部分代码省略.........
开发者ID:WOF-Softwares, 项目名称:ScribusCTL, 代码行数:101, 代码来源:importxfig.cpp
示例3: QImage
QImage RoomCLEntry::GetAvatar () const
{
return QImage ();
}
开发者ID:mirok0, 项目名称:leechcraft, 代码行数:4, 代码来源:roomclentry.cpp
示例4: switch
//.........这里部分代码省略.........
case Qt::SizeVerCursor:
sh = IDC_SIZENS;
break;
case Qt::SizeHorCursor:
sh = IDC_SIZEWE;
break;
case Qt::SizeBDiagCursor:
sh = IDC_SIZENESW;
break;
case Qt::SizeFDiagCursor:
sh = IDC_SIZENWSE;
break;
case Qt::SizeAllCursor:
sh = IDC_SIZEALL;
break;
case Qt::ForbiddenCursor:
sh = IDC_NO;
break;
case Qt::WhatsThisCursor:
sh = IDC_HELP;
break;
case Qt::BusyCursor:
sh = IDC_APPSTARTING;
break;
case Qt::PointingHandCursor:
sh = IDC_HAND;
break;
case Qt::BlankCursor:
case Qt::SplitVCursor:
case Qt::SplitHCursor:
case Qt::OpenHandCursor:
case Qt::ClosedHandCursor:
case Qt::BitmapCursor: {
QImage bbits, mbits;
bool invb, invm;
if (cshape == Qt::BlankCursor) {
bbits = QImage(32, 32, QImage::Format_Mono);
bbits.fill(0); // ignore color table
mbits = bbits.copy();
hx = hy = 16;
invb = invm = false;
} else if (cshape == Qt::OpenHandCursor || cshape == Qt::ClosedHandCursor) {
bool open = cshape == Qt::OpenHandCursor;
QBitmap cb = QBitmap::fromData(QSize(16, 16), open ? openhand_bits : closedhand_bits);
QBitmap cm = QBitmap::fromData(QSize(16, 16), open ? openhandm_bits : closedhandm_bits);
bbits = cb.toImage().convertToFormat(QImage::Format_Mono);
mbits = cm.toImage().convertToFormat(QImage::Format_Mono);
hx = hy = 8;
invb = invm = false;
} else if (cshape != Qt::BitmapCursor) {
int i = cshape - Qt::SplitVCursor;
QBitmap cb = QBitmap::fromData(QSize(32, 32), cursor_bits32[i * 2]);
QBitmap cm = QBitmap::fromData(QSize(32, 32), cursor_bits32[i * 2 + 1]);
bbits = cb.toImage().convertToFormat(QImage::Format_Mono);
mbits = cm.toImage().convertToFormat(QImage::Format_Mono);
if (cshape == Qt::PointingHandCursor) {
hx = 7;
hy = 0;
} else
hx = hy = 16;
invb = invm = false;
} else {
bbits = c.bitmap()->toImage().convertToFormat(QImage::Format_Mono);
mbits = c.mask()->toImage().convertToFormat(QImage::Format_Mono);
invb = bbits.colorCount() > 1 && qGray(bbits.color(0)) < qGray(bbits.color(1));
invm = mbits.colorCount() > 1 && qGray(mbits.color(0)) < qGray(mbits.color(1));
开发者ID:KDE, 项目名称:android-qt5-qtbase, 代码行数:67, 代码来源:qwindowscursor.cpp
示例5: setup_qt
static
void setup_qt(QImage& image, png_structp png_ptr, png_infop info_ptr, QSize scaledSize, bool *doScaledRead, float screen_gamma=0.0)
{
if (screen_gamma != 0.0 && png_get_valid(png_ptr, info_ptr, PNG_INFO_gAMA)) {
double file_gamma;
png_get_gAMA(png_ptr, info_ptr, &file_gamma);
png_set_gamma(png_ptr, screen_gamma, file_gamma);
}
png_uint_32 width;
png_uint_32 height;
int bit_depth;
int color_type;
png_bytep trans_alpha = 0;
png_color_16p trans_color_p = 0;
int num_trans;
png_colorp palette = 0;
int num_palette;
int interlace_method;
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_method, 0, 0);
png_set_interlace_handling(png_ptr);
if (color_type == PNG_COLOR_TYPE_GRAY) {
// Black & White or 8-bit grayscale
if (bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1) {
png_set_invert_mono(png_ptr);
png_read_update_info(png_ptr, info_ptr);
if (image.size() != QSize(width, height) || image.format() != QImage::Format_Mono) {
image = QImage(width, height, QImage::Format_Mono);
if (image.isNull())
return;
}
image.setColorCount(2);
image.setColor(1, qRgb(0,0,0));
image.setColor(0, qRgb(255,255,255));
} else if (bit_depth == 16 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
png_set_expand(png_ptr);
png_set_strip_16(png_ptr);
png_set_gray_to_rgb(png_ptr);
if (image.size() != QSize(width, height) || image.format() != QImage::Format_ARGB32) {
image = QImage(width, height, QImage::Format_ARGB32);
if (image.isNull())
return;
}
if (QSysInfo::ByteOrder == QSysInfo::BigEndian)
png_set_swap_alpha(png_ptr);
png_read_update_info(png_ptr, info_ptr);
} else {
if (bit_depth == 16)
png_set_strip_16(png_ptr);
else if (bit_depth < 8)
png_set_packing(png_ptr);
int ncols = bit_depth < 8 ? 1 << bit_depth : 256;
png_read_update_info(png_ptr, info_ptr);
if (image.size() != QSize(width, height) || image.format() != QImage::Format_Indexed8) {
image = QImage(width, height, QImage::Format_Indexed8);
if (image.isNull())
return;
}
image.setColorCount(ncols);
for (int i=0; i<ncols; i++) {
int c = i*255/(ncols-1);
image.setColor(i, qRgba(c,c,c,0xff));
}
if (png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color_p) && trans_color_p) {
const int g = trans_color_p->gray;
if (g < ncols) {
image.setColor(g, 0);
}
}
}
} else if (color_type == PNG_COLOR_TYPE_PALETTE
&& png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)
&& num_palette <= 256)
{
// 1-bit and 8-bit color
if (bit_depth != 1)
png_set_packing(png_ptr);
png_read_update_info(png_ptr, info_ptr);
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, 0, 0, 0);
QImage::Format format = bit_depth == 1 ? QImage::Format_Mono : QImage::Format_Indexed8;
if (image.size() != QSize(width, height) || image.format() != format) {
image = QImage(width, height, format);
if (image.isNull())
return;
}
png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
image.setColorCount(num_palette);
int i = 0;
if (png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color_p) && trans_alpha) {
while (i < num_trans) {
image.setColor(i, qRgba(
palette[i].red,
palette[i].green,
palette[i].blue,
trans_alpha[i]
)
);
i++;
//.........这里部分代码省略.........
开发者ID:ghjinlei, 项目名称:qt5, 代码行数:101, 代码来源:qpnghandler.cpp
示例6: QImage
QImage VectorscopeGenerator::calculateVectorscope(const QSize &vectorscopeSize, const QImage &image, const float &gain,
const VectorscopeGenerator::PaintMode &paintMode,
const VectorscopeGenerator::ColorSpace &colorSpace,
const bool &, const uint &accelFactor) const
{
if (vectorscopeSize.width() <= 0 || vectorscopeSize.height() <= 0 || image.width() <= 0 || image.height() <= 0) {
// Invalid size
return QImage();
}
// Prepare the vectorscope data
const int cw = (vectorscopeSize.width() < vectorscopeSize.height()) ? vectorscopeSize.width() : vectorscopeSize.height();
QImage scope = QImage(cw, cw, QImage::Format_ARGB32);
scope.fill(qRgba(0,0,0,0));
const uchar *bits = image.bits();
int r,g,b;
double dy, dr, dg, db, dmax;
double /*y,*/ u, v;
QPoint pt;
QRgb px;
const int stepsize = 4 * accelFactor;
// Just an average for the number of image pixels per scope pixel.
// NOTE: byteCount() has to be replaced by (img.bytesPerLine()*img.height()) for Qt 4.5 to compile, see: http://doc.trolltech.org/4.6/qimage.html#bytesPerLine
double avgPxPerPx = (double) 4*(image.bytesPerLine()*image.height())/scope.size().width()/scope.size().height()/accelFactor;
for (int i = 0; i < (image.bytesPerLine()*image.height()); i+= stepsize) {
QRgb *col = (QRgb *) bits;
r = qRed(*col);
g = qGreen(*col);
b = qBlue(*col);
switch (colorSpace) {
case VectorscopeGenerator::ColorSpace_YUV:
// y = (double) 0.001173 * r +0.002302 * g +0.0004471* b;
u = (double) -0.0005781* r -0.001135 * g +0.001713 * b;
v = (double) 0.002411 * r -0.002019 * g -0.0003921* b;
break;
case VectorscopeGenerator::ColorSpace_YPbPr:
default:
// y = (double) 0.001173 * r +0.002302 * g +0.0004471* b;
u = (double) -0.0006671* r -0.001299 * g +0.0019608* b;
v = (double) 0.001961 * r -0.001642 * g -0.0003189* b;
break;
}
pt = mapToCircle(vectorscopeSize, QPointF(SCALING*gain*u, SCALING*gain*v));
if (pt.x() >= scope.width() || pt.x() < 0
|| pt.y() >= scope.height() || pt.y() < 0) {
// Point lies outside (because of scaling), don't plot it
} else {
// Draw the pixel using the chosen draw mode.
switch (paintMode) {
case PaintMode_YUV:
// see yuvColorWheel
dy = 128; // Default Y value. Lower = darker.
// Calculate the RGB values from YUV/YPbPr
switch (colorSpace) {
case VectorscopeGenerator::ColorSpace_YUV:
dr = dy + 290.8*v;
dg = dy - 100.6*u - 148*v;
db = dy + 517.2*u;
break;
case VectorscopeGenerator::ColorSpace_YPbPr:
default:
dr = dy + 357.5*v;
dg = dy - 87.75*u - 182*v;
db = dy + 451.9*u;
break;
}
if (dr < 0) dr = 0;
if (dg < 0) dg = 0;
if (db < 0) db = 0;
if (dr > 255) dr = 255;
if (dg > 255) dg = 255;
if (db > 255) db = 255;
scope.setPixel(pt, qRgba(dr, dg, db, 255));
break;
case PaintMode_Chroma:
dy = 200; // Default Y value. Lower = darker.
// Calculate the RGB values from YUV/YPbPr
switch (colorSpace) {
case VectorscopeGenerator::ColorSpace_YUV:
dr = dy + 290.8*v;
dg = dy - 100.6*u - 148*v;
db = dy + 517.2*u;
//.........这里部分代码省略.........
开发者ID:eddrog, 项目名称:kdenlive, 代码行数:101, 代码来源:vectorscopegenerator.cpp
示例7: canvas
void KisQPainterCanvas::paintEvent(QPaintEvent * ev)
{
KisImageWSP image = canvas()->image();
if (image == 0) return;
setAutoFillBackground(false);
if (m_buffer.size() != size()) {
m_buffer = QImage(size(), QImage::Format_ARGB32_Premultiplied);
}
QPainter gc(&m_buffer);
// we double buffer, so we paint on an image first, then from the image onto the canvas,
// so copy the clip region since otherwise we're filling the whole buffer every time with
// the background color _and_ the transparent squares.
gc.setClipRegion(ev->region());
KisCoordinatesConverter *converter = coordinatesConverter();
QTransform imageTransform = converter->viewportToWidgetTransform();
gc.save();
gc.setCompositionMode(QPainter::CompositionMode_Source);
gc.fillRect(QRect(QPoint(0, 0), size()), borderColor());
QTransform checkersTransform;
QPointF brushOrigin;
QPolygonF polygon;
converter->getQPainterCheckersInfo(&checkersTransform, &brushOrigin, &polygon);
gc.setPen(Qt::NoPen);
gc.setBrush(m_d->checkBrush);
gc.setBrushOrigin(brushOrigin);
gc.setTransform(checkersTransform);
gc.drawPolygon(polygon);
gc.setTransform(imageTransform);
if (m_d->smooth) {
gc.setRenderHint(QPainter::SmoothPixmapTransform, true);
}
QRectF viewportRect = converter->widgetToViewport(ev->rect());
gc.setCompositionMode(QPainter::CompositionMode_SourceOver);
gc.drawImage(viewportRect, m_d->prescaledProjection->prescaledQImage(),
viewportRect);
gc.restore();
#ifdef DEBUG_REPAINT
QColor color = QColor(random() % 255, random() % 255, random() % 255, 150);
gc.fillRect(ev->rect(), color);
#endif
QRect boundingRect = converter->imageRectInWidgetPixels().toAlignedRect();
drawDecorations(gc, boundingRect);
gc.end();
QPainter painter(this);
painter.drawImage(ev->rect(), m_buffer, ev->rect());
}
开发者ID:abhishekmurthy, 项目名称:Calligra, 代码行数:64, 代码来源:kis_qpainter_canvas.cpp
示例8: QImage
void Subimage::createImage() {
mImg = QImage((uchar *)mMat.data, mMat.cols, mMat.rows, mMat.step, QImage::Format_RGB888);
}
开发者ID:sebastianskejoe, 项目名称:Ballspeed, 代码行数:3, 代码来源:subimage.cpp
示例9: painter
//drao table
void gamewidget::paintEvent(QPaintEvent*)
{
QPainter painter(this);
for(int i=0;i<ROW;++i){
for(int j = 0;j<COL;++j){
painter.drawRect(QRect(j*20,i*20,20,20));
}
}
//draw food
painter.drawImage(QRectF(foodx*20,foody*20,20,20),QImage(":/new/prefix1/img/apple.png"));
//draw snake head
switch (directioin) {
case UP:
painter.drawImage(QRectF(snake[0][0]*20,snake[0][1]*20,20,20),QImage(":/new/prefix1/img/headup.png"));
break;
case DOWN:
painter.drawImage(QRectF(snake[0][0]*20,snake[0][1]*20,20,20),QImage(":/new/prefix1/img/headdown.png"));
break;
case LEFT:
painter.drawImage(QRectF(snake[0][0]*20,snake[0][1]*20,20,20),QImage(":/new/prefix1/img/headleft.png"));
break;
case RIGHT:
painter.drawImage(QRectF(snake[0][0]*20,snake[0][1]*20,20,20),QImage(":/new/prefix1/img/headright.png"));
break;
default:
break;
}
//draw body
for(int i=1;i<foodcount;++i){
//左下和上右
if((snake[i][0]==snake[i-1][0] && snake[i][1]<snake[i-1][1]&&
snake[i][0]<snake[i+1][0] && snake[i][1]==snake[i+1][1])||
(snake[i][0]<snake[i-1][0] && snake[i][1]==snake[i-1][1]&&
snake[i][0]==snake[i+1][0] && snake[i][1]<snake[i+1][1])
)
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/tl_corner.png"));
//上左和右下
else if((snake[i][0]>snake[i-1][0] && snake[i][1]==snake[i-1][1]&&
snake[i][0]==snake[i+1][0] && snake[i][1]<snake[i+1][1])||
(snake[i][0]==snake[i-1][0] && snake[i][1]<snake[i-1][1]&&
snake[i][0]>snake[i+1][0] && snake[i][1]==snake[i+1][1])
)
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/tr_corner.png"));
//下右和左上
else if((snake[i][0]<snake[i-1][0] && snake[i][1]==snake[i-1][1]&&
snake[i][0]==snake[i+1][0] && snake[i][1]>snake[i+1][1])||
(snake[i][0]==snake[i-1][0] && snake[i][1]>snake[i-1][1]&&
snake[i][0]<snake[i+1][0] && snake[i][1]==snake[i+1][1])
)
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/bl_corner.png"));
//右上和下左
else if((snake[i][0]==snake[i-1][0] && snake[i][1]>snake[i-1][1]&&
snake[i][0]>snake[i+1][0] && snake[i][1]==snake[i+1][1])||
(snake[i][0]>snake[i-1][0] && snake[i][1]==snake[i-1][1]&&
snake[i][0]==snake[i+1][0] && snake[i][1]>snake[i+1][1])
)
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/br_corner.png"));
else if(snake[i][1]==snake[i-1][1]){
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/h_body.png"));
}
else if(snake[i][0]==snake[i-1][0]){
painter.drawImage(QRectF(snake[i][0]*20,snake[i][1]*20,20,20),QImage(":/new/prefix1/img/v_body.png"));
}
}
if(foodcount){
if(snake[foodcount][0]==snake[foodcount-1][0]&&snake[foodcount][1]>snake[foodcount-1][1])
painter.drawImage(QRectF(snake[foodcount][0]*20,snake[foodcount][1]*20,20,20),QImage(":/new/prefix1/img/tail.png"));
else if(snake[foodcount][0]==snake[foodcount-1][0]&&snake[foodcount][1]<snake[foodcount-1][1])
painter.drawImage(QRectF(snake[foodcount][0]*20,snake[foodcount][1]*20,20,20),QImage(":/new/prefix1/img/taildown.png"));
else if(snake[foodcount][0]>snake[foodcount-1][0]&&snake[foodcount][1]==snake[foodcount-1][1])
painter.drawImage(QRectF(snake[foodcount][0]*20,snake[foodcount][1]*20,20,20),QImage(":/new/prefix1/img/tailleft.png"));
else
painter.drawImage(QRectF(snake[foodcount][0]*20,snake[foodcount][1]*20,20,20),QImage(":/new/prefix1/img/tailright.png"));
}
}
开发者ID:TryUseGit, 项目名称:C-code, 代码行数:76, 代码来源:gamewidget.cpp
示例10: loadOverlay
static QPixmap
loadOverlay( const char *iconName )
{
return QImage( locate( "data", QString( "amarok/images/b_%1.png" ).arg( iconName ) ), "PNG" ).smoothScale( 10, 10 );
}
开发者ID:tmarques, 项目名称:waheela, 代码行数:5, 代码来源:systray.cpp
示例11: QGridLayout
//.........这里部分代码省略.........
TeamNameEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
GBTLayout->addWidget(TeamNameEdit, 0, 1, 1, 2);
vbox2->addWidget(GBoxTeam);
CBTeamLvl = new QComboBox(GBoxTeam);
CBTeamLvl->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
CBTeamLvl->setIconSize(QSize(32, 32));
CBTeamLvl->addItem(QIcon(":/res/botlevels/small0.png"), QComboBox::tr("Human"));
for(int i = 5; i > 0; i--)
CBTeamLvl->addItem(
QIcon(QString(":/res/botlevels/small%1.png").arg(6 - i)),
QComboBox::tr("Computer (Level %1)").arg(i)
);
CBTeamLvl->setFixedHeight(38);
GBTLayout->addWidget(CBTeamLvl, 1, 1, 1, 2);
CBGrave = new QComboBox(GBoxTeam);
CBGrave->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
CBGrave->setMaxCount(65535);
CBGrave->setMaxVisibleItems(20);
CBGrave->setIconSize(QSize(32, 32));
CBGrave->setFixedHeight(44);
GBTLayout->addWidget(CBGrave, 2, 1, 1, 2);
// Player flags, combobox to select flag
CBFlag = new QComboBox(GBoxTeam);
CBFlag->setMaxCount(65535);
CBFlag->setMaxVisibleItems(50);
CBFlag->setIconSize(QSize(22, 15));
CBFlag->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
GBTLayout->addWidget(CBFlag, 3, 1, 1, 2);
// CPU level flag. Static image, only displayed when computer player is selected
QImage imgBotlevels = QImage("physfs://Graphics/botlevels.png");
int botlevelOffsets[5]= { 19, 14, 10, 6, 0 };
for(int i=0; i<5; i++) {
QImage imgCPU = QImage("physfs://Graphics/Flags/cpu.png");
QPainter painter(&imgCPU);
painter.drawImage(botlevelOffsets[i], 0, imgBotlevels, botlevelOffsets[i]);
pixCPU[i] = QPixmap::fromImage(imgCPU);
}
QHBoxLayout* hboxCPU = new QHBoxLayout();
hboxCPU->setContentsMargins(0, 0, 0, 0);
hboxCPUWidget = new QWidget();
hboxCPUWidget->setLayout(hboxCPU);
CPUFlag = new QLabel();
CPUFlag->setPixmap(pixCPU[0]);
CPUFlag->setFixedHeight(38);
hboxCPU->addWidget(CPUFlag);
CPUFlagLabel = new QLabel("CPU");
CPUFlagLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
hboxCPU->addWidget(CPUFlagLabel);
hboxCPUWidget->setHidden(true);
GBTLayout->addWidget(hboxCPUWidget, 3, 1, 1, 1);
btnRandomTeamName = addButton(":/res/dice.png", GBTLayout, 0, 3, 1, 1, true);
btnRandomTeamName->setWhatsThis(tr("Randomize the team name"));
开发者ID:LocutusOfBorg, 项目名称:hw, 代码行数:67, 代码来源:pageeditteam.cpp
示例12: QImage
QImage CameraHandler::Mat2QImage(cv::Mat const& src){
/* Thanks to Marek R */
QImage image = QImage((const uchar *) src.data, src.cols, src.rows, src.step, QImage::Format_RGB888);
image.bits();
return image;
}
开发者ID:uissubsea, 项目名称:RovControl, 代码行数:6, 代码来源:camerahandler.cpp
示例13: QImage
void LocalFileSource::unload() {
_data = QImage();
}
开发者ID:Emadpres, 项目名称:tdesktop, 代码行数:3, 代码来源:image_source.cpp
示例14: file
/*!
* use latex to render LaTeX text (see tex2im, etc.)
*/
QImage TeXRenderer::renderImageLaTeX( const QString& teXString, const QColor& fontColor, const int fontSize, const int dpi){
QTemporaryFile file("/dev/shm/labplot_XXXXXX.tex");
//file.setAutoRemove(false);
if(file.open()) {
QDir::setCurrent("/dev/shm");
}
else {
kWarning()<<"/dev/shm failed. using /tmp"<<endl;
file.setFileTemplate("/tmp/labplot_XXXXXX.tex");
if(file.open())
QDir::setCurrent("/tmp");
else
return QImage();
}
// create latex code
QTextStream out(&file);
out << "\\documentclass{minimal}";
out << "\\usepackage{color}\\usepackage[active,displaymath,textmath,tightpage]{preview}";
out << "\\begin{document}";
out << "\\definecolor{fontcolor}{rgb}{" << fontColor.redF() << ',' << fontColor.greenF() << ','<<fontColor.blueF() << "}";
out << "\\begin{preview}";
out << "{\\fontsize{" << QString::number(fontSize) << "}{" << QString::number(fontSize) << "}\\selectfont";
out << "{\\color{fontcolor}\n";
out << teXString;
out << "\n}}\\end{preview}";
out << "\\end{document}";
out.flush();
// pdflatex: TeX -> PDF
QProcess latexProcess, convertProcess;
latexProcess.start("pdflatex", QStringList() << "-interaction=batchmode" << file.fileName());
QFileInfo fi(file.fileName());
if (latexProcess.waitForFinished()) { // pdflatex finished
QFile::remove(fi.completeBaseName()+".aux");
QFile::remove(fi.completeBaseName()+".log");
//TODO: pdflatex doesn't come back with EX_OK
// if(latexProcess.exitCode() != 0) // skip if pdflatex failed
// return QImage();
// convert: PDF -> PNG
convertProcess.start("convert", QStringList() << "-density"<< QString::number(dpi) + 'x' + QString::number(dpi)
<< fi.completeBaseName() + ".pdf"
<< fi.completeBaseName() + ".png");
//gs doesn't work here. Why?
// convertProcess.start("gs", QStringList()<< "-sDEVICE=png16m"
// << "-dTextAlphaBits=4"
// << "-r" + QString::number(dpi)
// << "-dGraphicsAlphaBits=4"
// << "-sDEVICE=pngalpha"
// << "-dSAFER"
// << "-q"
// << "-dNOPAUSE"
// << "-sOutputFile=" + fi.completeBaseName() + ".png"
// << fi.completeBaseName() + ".pdf");
// clean up and read png file
if (convertProcess.waitForFinished()) {
QFile::remove(fi.completeBaseName()+".pdf");
QImage image;
image.load(fi.completeBaseName()+".png");
QFile::remove(fi.completeBaseName()+".png");
return image;
}else{
QFile::remove(fi.completeBaseName()+".pdf");
return QImage();
}
}else{
kWarning()<<"pdflatex failed."<<endl;
}
//////////// fallback if pdflatex fails ///////////////
// latex: TeX -> DVI
latexProcess.start("latex", QStringList() << "-interaction=batchmode" << file.fileName());
// also possible: latexmf -C
if (!latexProcess.waitForFinished()) {
kWarning()<<"latex failed."<<endl;
QFile::remove(fi.completeBaseName()+".aux");
QFile::remove(fi.completeBaseName()+".log");
return QImage();
}
if(latexProcess.exitCode() != 0) // skip if latex failed
return QImage();
// dvips: DVI -> PS
QProcess dvipsProcess;
dvipsProcess.start("dvips", QStringList() << "-E" << fi.completeBaseName());
if (!dvipsProcess.waitForFinished()) {
kWarning()<<"dvips failed."<<endl;
QFile::remove(fi.completeBaseName()+".dvi");
return QImage();
}
//.........这里部分代码省略.........
开发者ID:asemke, 项目名称:labplot, 代码行数:101, 代码来源:TeXRenderer.cpp
示例15: QImage
void core::ImageEffect::setSampledImage(const QString &path)
{
minImage = QImage(path);
}
开发者ID:VARPERTecnology, 项目名称:INSYDE, 代码行数:4, 代码来源:imageeffect.cpp
示例16: render
void render() {
// setup the screen surface
if (buffer.size() != bufferSize)
buffer = QImage(bufferSize, QImage::Format_ARGB32);
int bufw = buffer.width();
int bufh = buffer.height();
if (bufw <= 0 || bufh <= 0)
return;
// we intentionally cheat here, to avoid detach
const uchar *ptr = buffer.bits();
QRgb *start = (QRgb*)(ptr);
QRgb stride = buffer.bytesPerLine() / 4;
QRgb *finish = start + stride * bufh;
// prepare the texture pointer
const uchar *src = textureImg.bits();
const QRgb *texsrc = reinterpret_cast<const QRgb*>(src);
// cast all rays here
qreal sina = sin(angle);
qreal cosa = cos(angle);
qreal u = cosa - sina;
qreal v = sina + cosa;
qreal du = 2 * sina / bufw;
qreal dv = -2 * cosa / bufw;
for (int ray = 0; ray < bufw; ++ray, u += du, v += dv) {
// every time this ray advances 'u' units in x direction,
// it also advanced 'v' units in y direction
qreal uu = (u < 0) ? -u : u;
qreal vv = (v < 0) ? -v : v;
qreal duu = 1 / uu;
qreal dvv = 1 / vv;
int stepx = (u < 0) ? -1 : 1;
int stepy = (v < 0) ? -1 : 1;
// the cell in the map that we need to check
qreal px = playerPos.x();
qreal py = playerPos.y();
int mapx = static_cast<int>(px);
int mapy = static_cast<int>(py);
// the position and texture for the hit
int texture = 0;
qreal hitdist = 0.1;
qreal texofs = 0;
bool dark = false;
// first hit at constant x and constant y lines
qreal distx = (u > 0) ? (mapx + 1 - px) * duu : (px - mapx) * duu;
qreal disty = (v > 0) ? (mapy + 1 - py) * dvv : (py - mapy) * dvv;
// loop until we hit something
while (texture <= 0) {
if (distx > disty) {
// shorter distance to a hit in constant y line
hitdist = disty;
disty += dvv;
mapy += stepy;
texture = world_map[mapy][mapx];
if (texture > 0) {
dark = true;
if (stepy > 0) {
qreal ofs = px + u * (mapy - py) / v;
texofs = ofs - floor(ofs);
} else {
qreal ofs = px + u * (mapy + 1 - py) / v;
texofs = ofs - floor(ofs);
}
}
} else {
// shorter distance to a hit in constant x line
hitdist = distx;
distx += duu;
mapx += stepx;
texture = world_map[mapy][mapx];
if (texture > 0) {
if (stepx > 0) {
qreal ofs = py + v * (mapx - px) / u;
texofs = ofs - floor(ofs);
} else {
qreal ofs = py + v * (mapx + 1 - px) / u;
texofs = ceil(ofs) - ofs;
}
}
}
}
// get the texture, note that the texture image
// has two textures horizontally, "normal" vs "dark"
int col = static_cast<int>(texofs * TEXTURE_SIZE);
col = qBound(0, col, TEXTURE_SIZE - 1);
texture = (texture - 1) % textureCount;
const QRgb *tex = texsrc + TEXTURE_BLOCK * texture * 2 +
(TEXTURE_SIZE * 2 * col);
if (dark)
tex += TEXTURE_SIZE;
//.........这里部分代码省略.........
开发者ID:AlexSoehn, 项目名称:qt-base-deb, 代码行数:101, 代码来源:raycasting.cpp
示例17: foreach
return;
}
if (d->m_need_initialize_window) {
float max=0;
MemoryMda *grid=&d->m_grid;
foreach (int pt,d->m_active_pixels) {
long x=pt%N1;
long y=pt/N1;
max=qMax(max,(float)grid->value(x,y)*d->m_increment_weight);
}
d->m_window_max=max/3;
d->m_need_initialize_window=false;
}
d->m_image=QImage(N1,N2,QImage::Format_ARGB32);
d->m_image.fill(Qt::black);
foreach (long pt,d->m_active_pixels) {
long x=pt%N1;
long y=pt/N1;
int r0=(int)qMin(255.0,d->m_grid.value(x,y,0)*1.0/d->m_window_max*d->m_increment_weight*255);
int g0=(int)qMin(255.0,d->m_grid.value(x,y,1)*1.0/d->m_window_max*d->m_increment_weight*255);
int b0=(int)qMin(255.0,d->m_grid.value(x,y,2)*1.0/d->m_window_max*d->m_increment_weight*255);
QColor CC(r0,g0,b0);
d->m_image.setPixel(x,y,CC.rgb());
}
painter.drawImage(0,0,d->m_image);
d->draw_overlay(&painter);
开发者ID:magland, 项目名称:mountainlab_devel, 代码行数:31, 代码来源:cvview.cpp
示例18: DefaultColumnAlignment
void PlaylistView::ReloadSettings() {
QSettings s;
s.beginGroup(Playlist::kSettingsGroup);
glow_enabled_ = s.value("glow_effect", true).toBool();
if (setting_initial_header_layout_ || upgrading_from_qheaderview_) {
header_->SetStretchEnabled(s.value("stretch", true).toBool());
upgrading_from_qheaderview_ = false;
}
if (currently_glowing_ && glow_enabled_ && isVisible()) StartGlowing();
if (!glow_enabled_) StopGlowing();
if (setting_initial_header_layout_) {
header_->SetColumnWidth(Playlist::Column_Length, 0.06);
header_->SetColumnWidth(Playlist::Column_Track, 0.05);
setting_initial_header_layout_ = false;
}
if (upgrading_from_version_ != -1) {
if (upgrading_from_version_ < 4) {
header_->SetColumnWidth(Playlist::Column_Source, 0.05);
}
upgrading_from_version_ = -1;
}
column_alignment_ = s.value("column_alignments").value<ColumnAlignmentMap>();
if (column_alignment_.isEmpty()) {
column_alignment_ = DefaultColumnAlignment();
}
emit ColumnAlignmentChanged(column_alignment_);
// Background:
QVariant q_playlistview_background_type =
s.value(kSettingBackgroundImageType);
BackgroundImageType background_type(Default);
// bg_enabled should also be checked for backward compatibility (in releases
// <= 1.0, there was just a boolean to activate/deactivate the background)
QVariant bg_enabled = s.value("bg_enabled");
if (q_playlistview_background_type.isValid()) {
background_type = static_cast<BackgroundImageType>(
q_playlistview_background_type.toInt());
} else if (bg_enabled.isValid()) {
if (bg_enabled.toBool()) {
background_type = Default;
} else {
background_type = None;
}
}
QString background_image_filename =
s.value(kSettingBackgroundImageFilename).toString();
int blur_radius = s.value("blur_radius", kDefaultBlurRadius).toInt();
int opacity_level = s.value("opacity_level", kDefaultOpacityLevel).toInt();
// Check if background properties have changed.
// We change properties only if they have actually changed, to avoid to call
// set_background_image when it is not needed, as this will cause the fading
// animation to start again. This also avoid to do useless
// "force_background_redraw".
if (background_image_filename != background_image_filename_ ||
background_type != background_image_type_ ||
blur_radius_ != blur_radius || opacity_level_ != opacity_level) {
// Store background properties
background_image_type_ = background_type;
background_image_filename_ = background_image_filename;
blur_radius_ = blur_radius;
opacity_level_ = opacity_level;
if (background_image_type_ == Custom) {
set_background_image(QImage(background_image_filename));
} else if (background_image_type_ == AlbumCover) {
set_background_image(current_song_cover_art_);
} else {
// User changed background image type to something that will not be
// painted through paintEvent: reset all background images.
// This avoid to use old (deprecated) images for fading when selecting
// AlbumCover or Custom background image type later.
set_background_image(QImage());
cached_scaled_background_image_ = QPixmap();
previous_background_image_ = QPixmap();
}
setProperty("default_background_enabled",
background_image_type_ == Default);
emit BackgroundPropertyChanged();
force_background_redraw_ = true;
}
}
开发者ID:Narfinger, 项目名称:Clementine, 代码行数:86, 代码来源:playlistview.cpp
六六分期app的软件客服如何联系?不知道吗?加qq群【895510560】即可!标题:六六分期
阅读:19281| 2023-10-27
今天小编告诉大家如何处理win10系统火狐flash插件总是崩溃的问题,可能很多用户都不知
阅读:10017| 2022-11-06
今天小编告诉大家如何对win10系统删除桌面回收站图标进行设置,可能很多用户都不知道
阅读:8343| 2022-11-06
今天小编告诉大家如何对win10系统电脑设置节能降温的设置方法,想必大家都遇到过需要
阅读:8712| 2022-11-06
我们在使用xp系统的过程中,经常需要对xp系统无线网络安装向导设置进行设置,可能很多
阅读:8657| 2022-11-06
今天小编告诉大家如何处理win7系统玩cf老是与主机连接不稳定的问题,可能很多用户都不
阅读:9686| 2022-11-06
电脑对日常生活的重要性小编就不多说了,可是一旦碰到win7系统设置cf烟雾头的问题,很
阅读:8645| 2022-11-06
我们在日常使用电脑的时候,有的小伙伴们可能在打开应用的时候会遇见提示应用程序无法
阅读:8013| 2022-11-06
今天小编告诉大家如何对win7系统打开vcf文件进行设置,可能很多用户都不知道怎么对win
阅读:8682| 2022-11-06
今天小编告诉大家如何对win10系统s4开启USB调试模式进行设置,可能很多用户都不知道怎
阅读:7549| 2022-11-06
请发表评论