亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basictoolsplugin.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
字號:
/******************************************************************************** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.**** This file is part of the example classes of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include <QtGui>#include <math.h>#include <stdlib.h>#include "basictoolsplugin.h"const float Pi = 3.14159f;QStringList BasicToolsPlugin::brushes() const{    return QStringList() << tr("Pencil") << tr("Air Brush")                         << tr("Random Letters");}QRect BasicToolsPlugin::mousePress(const QString &brush, QPainter &painter,                                   const QPoint &pos){    return mouseMove(brush, painter, pos, pos);}QRect BasicToolsPlugin::mouseMove(const QString &brush, QPainter &painter,                                  const QPoint &oldPos, const QPoint &newPos){    painter.save();    int rad = painter.pen().width() / 2;    QRect boundingRect = QRect(oldPos, newPos).normalized()                                              .adjusted(-rad, -rad, +rad, +rad);    QColor color = painter.pen().color();    int thickness = painter.pen().width();    QColor transparentColor(color.red(), color.green(), color.blue(), 0);    if (brush == tr("Pencil")) {        painter.drawLine(oldPos, newPos);    } else if (brush == tr("Air Brush")) {        int numSteps = 2 + (newPos - oldPos).manhattanLength() / 2;        painter.setBrush(QBrush(color, Qt::Dense6Pattern));        painter.setPen(Qt::NoPen);        for (int i = 0; i < numSteps; ++i) {            int x = oldPos.x() + i * (newPos.x() - oldPos.x()) / (numSteps - 1);            int y = oldPos.y() + i * (newPos.y() - oldPos.y()) / (numSteps - 1);            painter.drawEllipse(x - (thickness / 2), y - (thickness / 2),                                thickness, thickness);        }    } else if (brush == tr("Random Letters")) {        QChar ch('A' + (qrand() % 26));        QFont biggerFont = painter.font();        biggerFont.setBold(true);        biggerFont.setPointSize(biggerFont.pointSize() + thickness);        painter.setFont(biggerFont);        painter.drawText(newPos, QString(ch));        QFontMetrics metrics(painter.font());        boundingRect = metrics.boundingRect(ch);        boundingRect.translate(newPos);        boundingRect.adjust(-10, -10, +10, +10);    }    painter.restore();    return boundingRect;}QRect BasicToolsPlugin::mouseRelease(const QString & /* brush */,                                     QPainter & /* painter */,                                     const QPoint & /* pos */){    return QRect(0, 0, 0, 0);}QStringList BasicToolsPlugin::shapes() const{    return QStringList() << tr("Circle") << tr("Star") << tr("Text...");}QPainterPath BasicToolsPlugin::generateShape(const QString &shape,                                             QWidget *parent){    QPainterPath path;    if (shape == tr("Circle")) {        path.addEllipse(0, 0, 50, 50);    } else if (shape == tr("Star")) {        path.moveTo(90, 50);        for (int i = 1; i < 5; ++i) {            path.lineTo(50 + 40 * cos(0.8 * i * Pi),                        50 + 40 * sin(0.8 * i * Pi));        }        path.closeSubpath();    } else if (shape == tr("Text...")) {        QString text = QInputDialog::getText(parent, tr("Text Shape"),                                             tr("Enter text:"),                                             QLineEdit::Normal, tr("Qt"));        if (!text.isEmpty()) {            QFont timesFont("Times", 50);            timesFont.setStyleStrategy(QFont::ForceOutline);            path.addText(0, 0, timesFont, text);        }    }    return path;}QStringList BasicToolsPlugin::filters() const{    return QStringList() << tr("Invert Pixels") << tr("Swap RGB")                         << tr("Grayscale");}QImage BasicToolsPlugin::filterImage(const QString &filter, const QImage &image,                                     QWidget * /* parent */){    QImage result = image.convertToFormat(QImage::Format_RGB32);    if (filter == tr("Invert Pixels")) {        result.invertPixels();    } else if (filter == tr("Swap RGB")) {        result = result.rgbSwapped();    } else if (filter == tr("Grayscale")) {        for (int y = 0; y < result.height(); ++y) {            for (int x = 0; x < result.width(); ++x) {                int pixel = result.pixel(x, y);                int gray = qGray(pixel);                int alpha = qAlpha(pixel);                result.setPixel(x, y, qRgba(gray, gray, gray, alpha));            }        }    }    return result;}Q_EXPORT_PLUGIN2(pnp_basictools, BasicToolsPlugin)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩久久99精品久久久久久夜 | 成人免费毛片a| 美日韩黄色大片| 亚洲午夜私人影院| 亚洲一区二区影院| 一区二区三区在线观看欧美| 国产精品久久精品日日| 国产欧美日韩不卡| 国产精品成人免费| 中文字幕一区在线观看| 伊人性伊人情综合网| 亚洲品质自拍视频| 一区二区不卡在线播放 | 国产成人av网站| 国产一区二区三区观看| 国产一区欧美日韩| 国产乱人伦偷精品视频免下载| 国产成人在线影院| 成人av先锋影音| 99国内精品久久| 欧美视频日韩视频| 欧美一卡二卡三卡四卡| 国产欧美日韩另类一区| 国产欧美一区二区在线| 综合久久国产九一剧情麻豆| 性做久久久久久久久| 日韩精品五月天| 国产一区二区三区黄视频| thepron国产精品| 欧美中文字幕一区二区三区 | 99久久精品99国产精品| 色噜噜狠狠成人网p站| 欧美日本一区二区| 精品欧美一区二区久久| 中文字幕在线一区免费| 天天色综合天天| 国产毛片精品一区| 欧美色图第一页| 欧美国产一区在线| 性做久久久久久| 成人短视频下载| 欧美一级淫片007| 一区精品在线播放| 久久精品国产精品亚洲综合| 99精品久久99久久久久| 亚洲一区二区三区精品在线| 色婷婷国产精品久久包臀 | 1区2区3区国产精品| 亚洲麻豆国产自偷在线| 麻豆专区一区二区三区四区五区| av不卡一区二区三区| 日韩视频一区二区三区在线播放| 国产精品久久久久久久久免费丝袜 | 视频一区国产视频| 成人sese在线| 久久麻豆一区二区| 青青草成人在线观看| 欧美自拍偷拍午夜视频| 综合色天天鬼久久鬼色| 国产高清精品在线| 久久综合色8888| 亚洲国产视频a| 97国产一区二区| 亚洲国产高清在线| 国模一区二区三区白浆| 日韩欧美区一区二| 日韩在线一区二区| 555夜色666亚洲国产免| 亚洲人精品一区| 99久久99久久精品国产片果冻| 久久网站热最新地址| 麻豆精品久久久| 欧美一区二区三区喷汁尤物| 天天做天天摸天天爽国产一区| 色94色欧美sute亚洲线路二| 亚洲欧洲中文日韩久久av乱码| 从欧美一区二区三区| 国产日韩精品一区| 成人激情免费电影网址| 中文字幕免费不卡在线| gogo大胆日本视频一区| 国产精品久久久久久久久快鸭 | 亚洲精品国产精华液| 成人av网站在线| 中文字幕中文乱码欧美一区二区 | 亚洲精品国产a久久久久久 | 亚洲一区电影777| 欧美性色综合网| 青青草原综合久久大伊人精品优势| 91精品国产综合久久久久久久久久 | 秋霞av亚洲一区二区三| 成人国产亚洲欧美成人综合网| 欧美va亚洲va香蕉在线| 美女网站色91| 精品国产乱码久久久久久图片 | 日本一区二区三区在线观看| 成人污污视频在线观看| 一区二区三区在线视频观看| 欧美日韩精品一区二区三区蜜桃| 日本不卡123| 久久久一区二区三区捆绑**| 成人av资源站| 午夜在线成人av| 精品国产乱码久久久久久免费 | 中文字幕欧美日韩一区| 一本色道久久综合亚洲91| 偷拍亚洲欧洲综合| 一区二区三区四区在线免费观看 | 在线中文字幕不卡| 午夜精品影院在线观看| 精品欧美久久久| 成人高清视频在线| 日韩中文字幕av电影| 欧美va亚洲va在线观看蝴蝶网| 盗摄精品av一区二区三区| 亚洲高清免费视频| 久久婷婷色综合| 欧美性大战久久久久久久蜜臀| 久久av资源站| 亚洲美女淫视频| 久久久九九九九| 欧美午夜一区二区三区| 九色|91porny| 国产午夜精品一区二区三区四区| 高清国产一区二区| 图片区小说区国产精品视频| 国产亚洲精品bt天堂精选| 欧美亚洲高清一区二区三区不卡| 久久精品国产精品亚洲红杏| 亚洲欧美视频一区| 久久精品在线免费观看| 777色狠狠一区二区三区| 成人精品一区二区三区四区 | 久久精品国产99久久6| 亚洲另类在线视频| 欧美—级在线免费片| 日韩三级在线免费观看| 欧美午夜精品一区二区三区| 成人激情免费视频| 国产丶欧美丶日本不卡视频| 日韩电影在线一区二区| 亚洲最大的成人av| 亚洲欧美另类久久久精品| 中文字幕乱码一区二区免费| 精品久久久久久亚洲综合网| 欧美一级二级在线观看| 精品视频在线免费| 欧美日韩三级一区二区| 91精品91久久久中77777| 成人免费视频app| 国产99精品在线观看| 国产精品1区二区.| 国产乱码精品一区二区三区五月婷| 免费人成精品欧美精品 | 紧缚奴在线一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 亚洲激情五月婷婷| 亚洲精品水蜜桃| 亚洲色图视频网站| 亚洲欧美日韩精品久久久久| 日韩美女精品在线| 亚洲欧美另类综合偷拍| 一个色妞综合视频在线观看| 亚洲一区影音先锋| 五月天中文字幕一区二区| 亚洲国产一二三| 日韩av在线免费观看不卡| 免费一级片91| 国产乱淫av一区二区三区| 国产一区二区精品久久| 国产福利一区二区三区| 99视频在线精品| 日本道精品一区二区三区| 在线观看免费成人| 在线不卡免费欧美| 中文字幕亚洲在| 国产精品家庭影院| 亚洲精品一二三| 日韩国产精品久久久久久亚洲| 日韩av一二三| 精品无人区卡一卡二卡三乱码免费卡| 国产精品伊人色| 99久久国产免费看| 精品视频一区 二区 三区| 精品国产精品一区二区夜夜嗨| xnxx国产精品| 一区二区三区在线不卡| 麻豆91小视频| 99国产精品99久久久久久| 欧美日韩亚洲不卡| 欧美va日韩va| 一区二区三区精品视频| 久久精品国产精品亚洲红杏 | 91在线视频播放地址| 欧美亚洲国产一卡| 久久先锋影音av鲁色资源网| 亚洲一区在线观看免费| 国模一区二区三区白浆| 欧美日精品一区视频| 中文字幕一区二区三区在线不卡|