Skip to content

Commit 75610b6

Browse files
committed
[feature|doc]支持录制GIF;支持更改应用外观;优化使用体验;更新README
1 parent 169774a commit 75610b6

31 files changed

+2319
-110
lines changed

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,53 @@
1-
# SmartScreenSnapper
2-
3-
一个小巧实用的截图工具,使用Qt5编写,为ScreenSnap(VB6编写, https://github.com/SkyD666/VB6_ScreenShot )的全新版本。
4-
5-
6-
7-
#### 主要功能
8-
9-
1. 全屏截图
10-
2. 活动窗口截图
11-
3. 截取光标
12-
4. 热键截图
13-
5. 自由截图
14-
6. 自动保存图片
15-
7. 支持多显示屏(仅在双显示屏下测试,因为我只有两个显示屏QAQ)
16-
8. ......
17-
18-
19-
20-
![image](https://github.com/SkyD666/SmartScreenSnaper/raw/master/ScreenShots/MainWindow.png)
21-
22-
**注:此工程使用了以下开源组件,特别感谢**
23-
24-
1. minifmod播放.xm音乐组件
25-
2. MyGlobalShortcut注册全局热键(有修改)
1+
<div align="center">
2+
<div>
3+
<img src="SmartScreenSnapper/images/icon.png" style="height: 100px"/>
4+
</div>
5+
<h1>📸 SmartScreenSnapper</h1>
6+
<p>
7+
<a href="https://github.com/SkyD666/SmartScreenSnapper/releases/latest" style="text-decoration:none">
8+
<img src="https://img.shields.io/github/v/release/SkyD666/SmartScreenSnapper?display_name=release" alt="GitHub release (latest by date)"/>
9+
</a>
10+
<a href="https://github.com/SkyD666/SmartScreenSnapper/releases/latest" style="text-decoration:none" >
11+
<img src="https://img.shields.io/github/downloads/SkyD666/SmartScreenSnapper/total" alt="GitHub all downloads"/>
12+
</a>
13+
<a href="https://img.shields.io/badge/Windows-7-brightgreen" style="text-decoration:none" >
14+
<img src="https://img.shields.io/badge/Windows-7-brightgreen" alt="Windows version"/>
15+
</a>
16+
<a href="https://github.com/SkyD666/SmartScreenSnapper/blob/master/LICENSE" style="text-decoration:none" >
17+
<img src="https://img.shields.io/github/license/SkyD666/SmartScreenSnapper" alt="GitHub license"/>
18+
</a>
19+
</p>
20+
<p>
21+
一个小巧实用的<b>截图工具</b>,使用Qt5编写。
22+
</p>
23+
</div>
24+
25+
## 💡主要功能
26+
27+
1. 支持**全屏**截图
28+
2. 支持**活动窗口**截图
29+
3. 支持截取**光标**
30+
4. 支持**热键**截图
31+
5. 支持**自由框选截图**
32+
6. 支持**录制GIF**
33+
7. 支持**自动保存**图片
34+
8. 支持**多显示屏**(仅在双显示屏下测试)
35+
9. 支持**最小化****托盘**
36+
10. 支持**跟随系统启动**
37+
11. ......
38+
39+
40+
41+
![image](ScreenShots/MainWindow.png)
42+
43+
## 🎉特别感谢
44+
45+
1. minifmod播放**.xm音乐**组件
46+
2. [MyGlobalShortcut](https://github.com/mario206/MyGlobalShortcut)注册**全局热键**(有修改)
47+
3. [gif-h](https://github.com/charlietangora/gif-h)创建**GIF文件**(有修改)
48+
49+
## 📃许可证
50+
51+
使用此软件代码需**遵循以下许可证协议**
52+
53+
[**GNU General Public License v3.0**](LICENSE)

ScreenShots/MainWindow.png

-86.7 KB
Loading
-188 KB
Binary file not shown.

SmartScreenSnapper/Funky Stars.xm

50.2 KB
Binary file not shown.

SmartScreenSnapper/RCData.rc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
IDI_ICON1 ICON "icon.ico"
22

3-
0 MUSIC "Etxe by JosSs.xm"
3+
0 MUSIC "Funky Stars.xm"
44

55
DAZIJI SOUND "sound\\DAZIJI.wav"
66

@@ -11,8 +11,8 @@ DAZIJI SOUND "sound\\DAZIJI.wav"
1111
#endif
1212

1313
VS_VERSION_INFO VERSIONINFO
14-
FILEVERSION 1,0,0,8
15-
PRODUCTVERSION 1,0,0,8
14+
FILEVERSION 1,1,0,0
15+
PRODUCTVERSION 1,1,0,0
1616
FILEFLAGSMASK 0x3fL
1717
#ifdef _DEBUG
1818
FILEFLAGS VS_FF_DEBUG
@@ -29,8 +29,8 @@ VS_VERSION_INFO VERSIONINFO
2929
BEGIN
3030
VALUE "CompanyName", "Sky_D\0"
3131
VALUE "FileDescription", "SmartScreenSnapper\0"
32-
VALUE "FileVersion", "1.0.0.8\0"
33-
VALUE "ProductVersion", "1.0.0.8\0"
32+
VALUE "FileVersion", "1.1.0.0\0"
33+
VALUE "ProductVersion", "1.1.0.0\0"
3434
VALUE "LegalCopyright", "\0"
3535
VALUE "LegalTrademarks", "\0"
3636
VALUE "OriginalFilename", "SmartScreenSnapper.exe\0"

SmartScreenSnapper/SmartScreenSnapper.pro

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
QT += core gui winextras printsupport
1+
QT += core gui winextras printsupport svg
22

33
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
44

@@ -21,6 +21,8 @@ SOURCES += \
2121
aboutdialog.cpp \
2222
application.cpp \
2323
freesnapdialog.cpp \
24+
gif-h/gif.cpp \
25+
gifdialog.cpp \
2426
graphicsview.cpp \
2527
main.cpp \
2628
mainwindow.cpp \
@@ -38,6 +40,8 @@ HEADERS += \
3840
aboutdialog.h \
3941
application.h \
4042
freesnapdialog.h \
43+
gif-h/gif.h \
44+
gifdialog.h \
4145
graphicsview.h \
4246
mainwindow.h \
4347
mdiwindow.h \
@@ -52,6 +56,7 @@ HEADERS += \
5256
FORMS += \
5357
aboutdialog.ui \
5458
freesnapdialog.ui \
59+
gifdialog.ui \
5560
mainwindow.ui \
5661
settingdialog.ui \
5762
updatedialog.ui

SmartScreenSnapper/SmartScreenSnapper.pro.user

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE QtCreatorProject>
3-
<!-- Written by QtCreator 4.11.1, 2020-12-13T21:26:14. -->
3+
<!-- Written by QtCreator 4.11.1, 2022-08-16T21:52:26. -->
44
<qtcreator>
55
<data>
66
<variable>EnvironmentId</variable>
7-
<value type="QByteArray">{f3f6d3b6-c242-4993-86b2-b6fa01fda8cf}</value>
7+
<value type="QByteArray">{94c2d154-65b9-4d95-af4f-31f397cd8fb5}</value>
88
</data>
99
<data>
1010
<variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -64,14 +64,14 @@
6464
<data>
6565
<variable>ProjectExplorer.Project.Target.0</variable>
6666
<valuemap type="QVariantMap">
67-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit(static)</value>
68-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit(static)</value>
69-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{910c42c5-1b71-4b9e-88f8-dcc27e4a8fe0}</value>
67+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
68+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
69+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>
7070
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
7171
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
7272
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
7373
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
74-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit_static-Debug</value>
74+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Debug</value>
7575
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
7676
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
7777
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -119,7 +119,7 @@
119119
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
120120
</valuemap>
121121
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
122-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit_static-Release</value>
122+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>
123123
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
124124
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
125125
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -167,7 +167,7 @@
167167
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
168168
</valuemap>
169169
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
170-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit_static-Profile</value>
170+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Profile</value>
171171
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
172172
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
173173
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -299,22 +299,22 @@
299299
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
300300
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
301301
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
302-
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit_static-Release</value>
302+
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>
303303
</valuemap>
304304
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
305305
</valuemap>
306306
</data>
307307
<data>
308308
<variable>ProjectExplorer.Project.Target.1</variable>
309309
<valuemap type="QVariantMap">
310-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
311-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
312-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>
313-
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
310+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
311+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
312+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
313+
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
314314
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
315315
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
316316
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
317-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Debug</value>
317+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_64_bit-Debug</value>
318318
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
319319
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
320320
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -362,7 +362,7 @@
362362
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
363363
</valuemap>
364364
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
365-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>
365+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_64_bit-Release</value>
366366
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
367367
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
368368
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -410,7 +410,7 @@
410410
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
411411
</valuemap>
412412
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
413-
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_32_bit-Profile</value>
413+
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/C++/SmartScreenSnapper/build-SmartScreenSnapper-Desktop_Qt_5_14_2_MinGW_64_bit-Profile</value>
414414
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
415415
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
416416
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@@ -530,15 +530,14 @@
530530
</valuelist>
531531
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
532532
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
533-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">SmartScreenSnapper2</value>
534-
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/C++/SmartScreenSnapper/SmartScreenSnapper/SmartScreenSnapper.pro</value>
535-
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/C++/SmartScreenSnapper/SmartScreenSnapper/SmartScreenSnapper.pro</value>
533+
<value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
534+
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
535+
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
536536
<value type="QString" key="RunConfiguration.Arguments"></value>
537537
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
538538
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
539539
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
540540
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
541-
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
542541
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
543542
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
544543
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>

SmartScreenSnapper/aboutdialog.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ AboutDialog::AboutDialog(QWidget *parent) :
4141
ui->checkBoxMusic->setCheckState(Qt::Checked);
4242

4343
QTimer::singleShot(0, [=](){ //使控件大小都正确初始化
44+
ui->labelStar->setStyleSheet("background-color: #000000");
4445
drawStar(this, ui->labelStar, ui->labelStar);
4546
});
4647
}
@@ -85,7 +86,7 @@ void drawStar(QWidget *parent, QWidget * label, QWidget * labelText) {
8586
StarThread::label = labelText;
8687
StarThread::labelHdc = GetWindowDC( (HWND)labelText->winId() );
8788
StarThread::text = QApplication::applicationName() + "\n\nVersion: " + QApplication::applicationVersion() +
88-
"\n\nA screenshot software\n\nMade by Sky_D\n\nWritten in Qt 5.14.2" + "\n\n\n "; //带一个空格结尾,防止最后一行闪烁
89+
"\n\nA screenshot software\n\nMade by SkyD666\n\nQt 5.14.2" + "\n\n\n "; //带一个空格结尾,防止最后一行闪烁
8990

9091
myThread = new QThread(parent);
9192
starObject = new StarThread();

SmartScreenSnapper/aboutdialog.ui

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@
395395
</font>
396396
</property>
397397
<property name="text">
398-
<string>Etxe by JosSs</string>
398+
<string>Funky Stars</string>
399399
</property>
400400
<property name="frame">
401401
<bool>false</bool>

0 commit comments

Comments
 (0)