91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

使用 Qt Quick 實現的圖像處理實例,支持黑白、銳化、底片、柔化、灰度、浮雕等特效。展示 Qt 中 QML 與 C++ 混合編程技術、多線程、自定義事件等關鍵技術。

資源截圖

代碼片段和文件信息

#include?“imageProcessor.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

typedef?void?(*AlgorithmFunction)(QString?sourceFile?QString?destFile);

class?AlgorithmRunnable;
class?ExcutedEvent?:?public?QEvent
{
public:
????ExcutedEvent(AlgorithmRunnable?*r)
????????:?QEvent(evType())?m_runnable(r)
????{

????}
????AlgorithmRunnable?*m_runnable;

????static?QEvent::Type?evType()
????{
????????if(s_evType?==?QEvent::None)
????????{
????????????s_evType?=?(QEvent::Type)registerEventType();
????????}
????????return?s_evType;
????}

private:
????static?QEvent::Type?s_evType;
};
QEvent::Type?ExcutedEvent::s_evType?=?QEvent::None;

static?void?_gray(QString?sourceFile?QString?destFile)
{
????QImage?image(sourceFile);
????if(image.isNull())
????{
????????qDebug()?<????????return;
????}
????qDebug()?<
????int?width?=?image.width();
????int?height?=?image.height();
????QRgb?color;
????int?gray;
????for(int?i?=?0;?i?????{
????????for(int?j=?0;?j?????????{
????????????color?=?image.pixel(i?j);
????????????gray?=?qGray(color);
????????????image.setPixel(i?j?qRgba(gray?gray?gray?qAlpha(color)));
????????}
????}

????image.save(destFile);
}

static?void?_binarize(QString?sourceFile?QString?destFile)
{
????QImage?image(sourceFile);
????if(image.isNull())
????{
????????qDebug()?<????????return;
????}
????int?width?=?image.width();
????int?height?=?image.height();
????QRgb?color;
????QRgb?avg;
????QRgb?black?=?qRgb(0?0?0);
????QRgb?white?=?qRgb(255?255?255);
????for(int?i?=?0;?i?????{
????????for(int?j=?0;?j?????????{
????????????color?=?image.pixel(i?j);
????????????avg?=?(qRed(color)?+?qGreen(color)?+?qBlue(color))/3;
????????????image.setPixel(i?j?avg?>=?128???white?:?black);
????????}
????}
????image.save(destFile);
}

static?void?_negative(QString?sourceFile?QString?destFile)
{
????QImage?image(sourceFile);
????if(image.isNull())
????{
????????qDebug()?<????????return;
????}
????int?width?=?image.width();
????int?height?=?image.height();
????QRgb?color;
????QRgb?negative;
????for(int?i?=?0;?i?????{
????????for(int?j=?0;?j?????????{
????????????color?=?image.pixel(i?j);
????????????negative?=?qRgba(255?-?qRed(color)
?????????????????????????????255?-?qGreen(color)
?????????????????????????????255?-?qBlue(color)
?????????????????????????????qAlpha(color));
????????????image.setPixel(i?j?negative);
????????}
????}
????image.save(destFile);
}

static?void?_emboss(QString?sourceFile?QStri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-07-15?00:07??imageProcessor\
?????目錄???????????0??2014-06-04?23:06??imageProcessor\android\
?????文件????????3471??2014-06-04?23:06??imageProcessor\android\AndroidManifest.xml
?????文件???????11531??2014-07-13?16:36??imageProcessor\imageProcessor.cpp
?????文件?????????993??2014-07-13?16:21??imageProcessor\imageProcessor.h
?????文件?????????783??2014-06-04?23:08??imageProcessor\imageProcessor.pro
?????文件???????13401??2014-07-15?00:07??imageProcessor\imageProcessor.pro.user
?????文件????????3400??2014-06-04?10:24??imageProcessor\imageProcessor64.png
?????文件????????4945??2014-06-04?10:24??imageProcessor\imageProcessor80.png
?????文件?????????706??2014-07-13?16:46??imageProcessor\main.cpp
?????目錄???????????0??2014-06-04?10:24??imageProcessor\qml\
?????目錄???????????0??2014-07-14?23:42??imageProcessor\qml\imageProcessor\
?????文件????????5147??2014-07-14?23:42??imageProcessor\qml\imageProcessor\main.qml
?????目錄???????????0??2014-06-04?23:05??imageProcessor\qtquick2applicationviewer\
?????文件????????2797??2014-06-04?23:05??imageProcessor\qtquick2applicationviewer\qtquick2applicationviewer.cpp
?????文件?????????948??2014-06-04?10:24??imageProcessor\qtquick2applicationviewer\qtquick2applicationviewer.h
?????文件????????7492??2014-06-04?10:24??imageProcessor\qtquick2applicationviewer\qtquick2applicationviewer.pri

評論

共有 條評論