This commit is contained in:
寂静的羽夏 2022-11-13 13:18:04 +08:00
parent cfaec7e217
commit 90118747ef
4 changed files with 10 additions and 1 deletions

View File

@ -52,11 +52,13 @@ MainWindow::MainWindow(DMainWindow *parent) : DMainWindow(parent) {
setMinimumSize(800, 600);
setWindowTitle(tr("WingGifEditor"));
setWindowIcon(ICONRES("icon"));
setAcceptDrops(true);
auto w = new QWidget(this);
setCentralWidget(w);
auto vlayout = new QVBoxLayout(w);
editor = new GifEditor(QPixmap(":/images/icon.png"), w);
editor->setInteractive(true);
editor->setAcceptDrops(true);
vlayout->addWidget(editor);
imglist = new QListWidget(w);

View File

@ -9,6 +9,8 @@ bool GifEncoder::open(QString filename, int width, int height) {
config.path = filename.toLocal8Bit().constData();
config.width = uint16_t(width);
config.height = uint16_t(height);
config.genFlags =
CGIF_FRAME_GEN_USE_TRANSPARENCY | CGIF_FRAME_GEN_USE_DIFF_WINDOW;
pGIF = cgif_rgb_newgif(&config);
return pGIF;
}
@ -22,6 +24,8 @@ bool GifEncoder::push(QImage &image, int delayTime) {
fconfig.pImageData = reinterpret_cast<uint8_t *>(
const_cast<unsigned char *>(image.constBits()));
fconfig.fmtChan = CGIF_CHAN_FMT_RGBA;
fconfig.genFlags =
CGIF_FRAME_GEN_USE_TRANSPARENCY | CGIF_FRAME_GEN_USE_DIFF_WINDOW;
fconfig.delay = uint16_t(delayTime);
cgif_rgb_addframe(pGIF, &fconfig);
return true;

View File

@ -487,7 +487,8 @@ CGIFrgb* cgif_rgb_newgif(const CGIFrgb_Config* pConfig) {
idxConfig.numLoops = pConfig->numLoops;
idxConfig.width = pConfig->width;
idxConfig.height = pConfig->height;
idxConfig.attrFlags = CGIF_ATTR_IS_ANIMATED | CGIF_ATTR_NO_GLOBAL_TABLE;
idxConfig.attrFlags = CGIF_ATTR_IS_ANIMATED | CGIF_ATTR_NO_GLOBAL_TABLE ;
idxConfig.genFlags = pConfig->genFlags;
pGIFrgb->pGIF = cgif_newgif(&idxConfig);
if(pGIFrgb->pGIF == NULL) {
free(pGIFrgb);
@ -513,6 +514,7 @@ cgif_result cgif_rgb_addframe(CGIFrgb* pGIF, const CGIFrgb_FrameConfig* pConfig)
fConfig.pImageData = malloc(pGIF->config.width * (uint32_t)pGIF->config.height);
fConfig.delay = pConfig->delay;
fConfig.attrFlags = CGIF_FRAME_ATTR_USE_LOCAL_TABLE;
fConfig.genFlags = pConfig->genFlags;
const int sizeLCT = rgb_to_index(pConfig->pImageData, numPixel, pGIF->config.width, pConfig->fmtChan, fConfig.pImageData, aPalette, 8, 1, &hasAlpha, pGIF->pBefImageData, pGIF->befFmtChan);
fConfig.numLocalPaletteEntries = sizeLCT;

View File

@ -5,6 +5,7 @@ v1.1.2:
2. 增加图像后处理,充分利用现有的控制台图像处理工具
3. 修复切割图像窗体关闭后仍不恢复的 Bug
4. 增加日志系统
5. 增加文件拖拽打开文件功能
v1.1.1:
1. 使等待弹窗提示动画更加流畅