├── .vs └── Gifer │ └── v15 │ └── .suo ├── Gifer.sln ├── Gifer ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Gif.Components.dll ├── Gifer.csproj ├── Gifer.csproj.user ├── ICSharpCode.SharpZipLib.dll ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── bin │ └── Debug │ │ ├── Gif.Components.dll │ │ ├── Gifer.exe │ │ ├── Gifer.exe.config │ │ ├── Gifer.pdb │ │ └── ICSharpCode.SharpZipLib.dll └── obj │ └── Debug │ ├── CoreCompileInputs.cache │ ├── DesignTimeResolveAssemblyReferences.cache │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── Gifer.Form1.resources │ ├── Gifer.Properties.Resources.resources │ ├── Gifer.csproj.FileListAbsolute.txt │ ├── Gifer.csproj.GenerateResource.Cache │ ├── Gifer.csprojResolveAssemblyReference.cache │ ├── Gifer.exe │ ├── Gifer.pdb │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs ├── PixivDownloader.rar └── README.md /.vs/Gifer/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/.vs/Gifer/v15/.suo -------------------------------------------------------------------------------- /Gifer.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.13 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gifer", "Gifer\Gifer.csproj", "{60104D2C-EEB6-43B0-9936-775711E44171}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {60104D2C-EEB6-43B0-9936-775711E44171}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {60104D2C-EEB6-43B0-9936-775711E44171}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {60104D2C-EEB6-43B0-9936-775711E44171}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {60104D2C-EEB6-43B0-9936-775711E44171}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Gifer/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Gifer/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Gifer 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows 窗体设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要修改 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.listBox1 = new System.Windows.Forms.ListBox(); 32 | this.button1 = new System.Windows.Forms.Button(); 33 | this.button2 = new System.Windows.Forms.Button(); 34 | this.button3 = new System.Windows.Forms.Button(); 35 | this.progressBar1 = new System.Windows.Forms.ProgressBar(); 36 | this.button4 = new System.Windows.Forms.Button(); 37 | this.label1 = new System.Windows.Forms.Label(); 38 | this.button5 = new System.Windows.Forms.Button(); 39 | this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); 40 | this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); 41 | this.textBox1 = new System.Windows.Forms.TextBox(); 42 | this.SuspendLayout(); 43 | // 44 | // listBox1 45 | // 46 | this.listBox1.FormattingEnabled = true; 47 | this.listBox1.ItemHeight = 12; 48 | this.listBox1.Location = new System.Drawing.Point(12, 12); 49 | this.listBox1.Name = "listBox1"; 50 | this.listBox1.Size = new System.Drawing.Size(460, 220); 51 | this.listBox1.TabIndex = 0; 52 | // 53 | // button1 54 | // 55 | this.button1.Location = new System.Drawing.Point(12, 238); 56 | this.button1.Name = "button1"; 57 | this.button1.Size = new System.Drawing.Size(75, 23); 58 | this.button1.TabIndex = 1; 59 | this.button1.Text = "选择文件"; 60 | this.button1.UseVisualStyleBackColor = true; 61 | this.button1.Click += new System.EventHandler(this.button1_Click); 62 | // 63 | // button2 64 | // 65 | this.button2.Location = new System.Drawing.Point(93, 238); 66 | this.button2.Name = "button2"; 67 | this.button2.Size = new System.Drawing.Size(85, 23); 68 | this.button2.TabIndex = 2; 69 | this.button2.Text = "删除选择项"; 70 | this.button2.UseVisualStyleBackColor = true; 71 | this.button2.Click += new System.EventHandler(this.button2_Click); 72 | // 73 | // button3 74 | // 75 | this.button3.Location = new System.Drawing.Point(184, 238); 76 | this.button3.Name = "button3"; 77 | this.button3.Size = new System.Drawing.Size(75, 23); 78 | this.button3.TabIndex = 3; 79 | this.button3.Text = "清空列表"; 80 | this.button3.UseVisualStyleBackColor = true; 81 | this.button3.Click += new System.EventHandler(this.button3_Click); 82 | // 83 | // progressBar1 84 | // 85 | this.progressBar1.Location = new System.Drawing.Point(12, 295); 86 | this.progressBar1.Name = "progressBar1"; 87 | this.progressBar1.Size = new System.Drawing.Size(460, 23); 88 | this.progressBar1.TabIndex = 4; 89 | // 90 | // button4 91 | // 92 | this.button4.Location = new System.Drawing.Point(367, 238); 93 | this.button4.Name = "button4"; 94 | this.button4.Size = new System.Drawing.Size(105, 51); 95 | this.button4.TabIndex = 5; 96 | this.button4.Text = "开始转换"; 97 | this.button4.UseVisualStyleBackColor = true; 98 | this.button4.Click += new System.EventHandler(this.button4_Click); 99 | // 100 | // label1 101 | // 102 | this.label1.Font = new System.Drawing.Font("微软雅黑", 10F); 103 | this.label1.Location = new System.Drawing.Point(12, 267); 104 | this.label1.Name = "label1"; 105 | this.label1.Size = new System.Drawing.Size(298, 23); 106 | this.label1.TabIndex = 6; 107 | this.label1.Text = "输出文件夹:"; 108 | // 109 | // button5 110 | // 111 | this.button5.Location = new System.Drawing.Point(265, 238); 112 | this.button5.Name = "button5"; 113 | this.button5.Size = new System.Drawing.Size(96, 23); 114 | this.button5.TabIndex = 7; 115 | this.button5.Text = "选择输出位置"; 116 | this.button5.UseVisualStyleBackColor = true; 117 | this.button5.Click += new System.EventHandler(this.button5_Click); 118 | // 119 | // openFileDialog1 120 | // 121 | this.openFileDialog1.FileName = "openFileDialog1"; 122 | this.openFileDialog1.Filter = "压缩文件(*.zip)|*.zip"; 123 | this.openFileDialog1.Multiselect = true; 124 | this.openFileDialog1.RestoreDirectory = true; 125 | // 126 | // textBox1 127 | // 128 | this.textBox1.Location = new System.Drawing.Point(321, 267); 129 | this.textBox1.Name = "textBox1"; 130 | this.textBox1.Size = new System.Drawing.Size(39, 21); 131 | this.textBox1.TabIndex = 8; 132 | this.textBox1.Text = "10"; 133 | // 134 | // Form1 135 | // 136 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 137 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 138 | this.ClientSize = new System.Drawing.Size(484, 330); 139 | this.Controls.Add(this.textBox1); 140 | this.Controls.Add(this.button5); 141 | this.Controls.Add(this.label1); 142 | this.Controls.Add(this.button4); 143 | this.Controls.Add(this.progressBar1); 144 | this.Controls.Add(this.button3); 145 | this.Controls.Add(this.button2); 146 | this.Controls.Add(this.button1); 147 | this.Controls.Add(this.listBox1); 148 | this.Name = "Form1"; 149 | this.Text = "Gifer"; 150 | this.ResumeLayout(false); 151 | this.PerformLayout(); 152 | 153 | } 154 | 155 | #endregion 156 | 157 | private System.Windows.Forms.ListBox listBox1; 158 | private System.Windows.Forms.Button button1; 159 | private System.Windows.Forms.Button button2; 160 | private System.Windows.Forms.Button button3; 161 | private System.Windows.Forms.ProgressBar progressBar1; 162 | private System.Windows.Forms.Button button4; 163 | private System.Windows.Forms.Label label1; 164 | private System.Windows.Forms.Button button5; 165 | private System.Windows.Forms.OpenFileDialog openFileDialog1; 166 | private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; 167 | private System.Windows.Forms.TextBox textBox1; 168 | } 169 | } 170 | 171 | -------------------------------------------------------------------------------- /Gifer/Form1.cs: -------------------------------------------------------------------------------- 1 | using Gif.Components; 2 | using ICSharpCode.SharpZipLib.Zip; 3 | using System; 4 | using System.Drawing; 5 | using System.IO; 6 | using System.Windows.Forms; 7 | 8 | namespace Gifer 9 | { 10 | public partial class Form1 : Form 11 | { 12 | public static Random rd = new Random(); 13 | public string dir = ""; 14 | public string tmp = ""; 15 | public Form1() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void button1_Click(object sender, EventArgs e) 21 | { 22 | if (openFileDialog1.ShowDialog() == DialogResult.OK) 23 | { 24 | var files = openFileDialog1.FileNames; 25 | foreach (var s in files) 26 | listBox1.Items.Add(s); 27 | } 28 | } 29 | 30 | private void button2_Click(object sender, EventArgs e) 31 | { 32 | if (listBox1.SelectedIndex >= 0) 33 | { 34 | var index = listBox1.SelectedIndex - 1; 35 | listBox1.Items.RemoveAt(listBox1.SelectedIndex); 36 | if (index >= 0) listBox1.SelectedIndex = index; 37 | } 38 | } 39 | 40 | private void button3_Click(object sender, EventArgs e) 41 | { 42 | listBox1.Items.Clear(); 43 | } 44 | 45 | private void button5_Click(object sender, EventArgs e) 46 | { 47 | if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) 48 | { 49 | label1.Text = "输出文件夹:" + folderBrowserDialog1.SelectedPath; 50 | } 51 | } 52 | 53 | public bool UnZip(string fileToUnZip, string zipedFolder, string password) 54 | { 55 | bool result = true; 56 | FileStream fs = null; 57 | ZipInputStream zipStream = null; 58 | ZipEntry ent = null; 59 | string fileName; 60 | 61 | if (!File.Exists(fileToUnZip)) 62 | return false; 63 | 64 | if (!Directory.Exists(zipedFolder)) 65 | Directory.CreateDirectory(zipedFolder); 66 | 67 | try 68 | { 69 | zipStream = new ZipInputStream(File.OpenRead(fileToUnZip)); 70 | if (!string.IsNullOrEmpty(password)) zipStream.Password = password; 71 | while ((ent = zipStream.GetNextEntry()) != null) 72 | { 73 | if (!string.IsNullOrEmpty(ent.Name)) 74 | { 75 | fileName = Path.Combine(zipedFolder, ent.Name); 76 | fileName = fileName.Replace('/', '\\');//change by Mr.HopeGi 77 | 78 | if (fileName.EndsWith("\\")) 79 | { 80 | Directory.CreateDirectory(fileName); 81 | continue; 82 | } 83 | 84 | fs = File.Create(fileName); 85 | int size = 2048; 86 | byte[] data = new byte[size]; 87 | while (true) 88 | { 89 | size = zipStream.Read(data, 0, data.Length); 90 | if (size > 0) 91 | fs.Write(data, 0, data.Length); 92 | else 93 | break; 94 | } 95 | if (fs != null) 96 | { 97 | fs.Close(); 98 | fs.Dispose(); 99 | } 100 | } 101 | } 102 | } 103 | catch 104 | { 105 | result = false; 106 | } 107 | finally 108 | { 109 | /*if (fs != null) 110 | { 111 | fs.Close(); 112 | fs.Dispose(); 113 | }*/ 114 | if (zipStream != null) 115 | { 116 | zipStream.Close(); 117 | zipStream.Dispose(); 118 | } 119 | if (ent != null) 120 | { 121 | ent = null; 122 | } 123 | GC.Collect(); 124 | GC.Collect(1); 125 | } 126 | return result; 127 | } 128 | 129 | public bool UnZip(string fileToUnZip, string zipedFolder) 130 | { 131 | bool result = UnZip(fileToUnZip, zipedFolder, null); 132 | return result; 133 | } 134 | 135 | private void button4_Click(object sender, EventArgs e) 136 | { 137 | if (listBox1.Items.Count <= 0) 138 | { 139 | MessageBox.Show("没有添加任何文件"); 140 | return; 141 | } 142 | if (label1.Text.Substring(6).Length <= 0) 143 | { 144 | MessageBox.Show("输出路径为空"); 145 | return; 146 | } 147 | foreach (var item in listBox1.Items) 148 | { 149 | dir = rdPath(); 150 | try 151 | { 152 | if(UnZip(item.ToString(), Path.GetTempPath() + dir)) 153 | { 154 | try 155 | { 156 | tmp = item.ToString(); 157 | tmp = tmp.Substring(tmp.LastIndexOf("\\") + 1); 158 | tmp = tmp.Substring(0, tmp.IndexOf('.') - 1) + ".gif"; 159 | ToGif(Path.GetTempPath() + dir, label1.Text.Substring(6) + "\\" + tmp, Int32.Parse(textBox1.Text), true); 160 | } 161 | catch 162 | { 163 | MessageBox.Show("转换失败,跳过该文件"); 164 | Directory.Delete(Path.GetTempPath() + dir, true); 165 | continue; 166 | } 167 | } 168 | else 169 | { 170 | MessageBox.Show("解压失败,跳过该文件"); 171 | Directory.Delete(Path.GetTempPath() + dir, true); 172 | continue; 173 | } 174 | } 175 | catch 176 | { 177 | MessageBox.Show("解压失败,跳过该文件"); 178 | Directory.Delete(Path.GetTempPath() + dir, true); 179 | continue; 180 | } 181 | Directory.Delete(Path.GetTempPath() + dir, true); 182 | } 183 | MessageBox.Show("转换结束"); 184 | } 185 | 186 | public void ToGif(string directory, string giffile, int time, bool repeat) 187 | { 188 | string[] files = Directory.GetFileSystemEntries(directory, "*.jpg"); 189 | 190 | AnimatedGifEncoder e = new AnimatedGifEncoder(); 191 | e.Start(giffile); 192 | e.SetDelay(time); 193 | e.SetRepeat(repeat ? 0 : -1); 194 | for (int i = 0, count = files.Length; i < count; i++) 195 | { 196 | var img = Image.FromFile(files[i]); 197 | e.AddFrame(img); 198 | img.Dispose(); 199 | progressBar1.Value = (int)(i * 1.0 / files.Length * 100); 200 | Application.DoEvents(); 201 | } 202 | e.Finish(); 203 | progressBar1.Value = 0; 204 | } 205 | 206 | public string rdPath() 207 | { 208 | string ret = ""; 209 | for (int i = 0; i < 6; i++) 210 | { 211 | int tmp = rd.Next(36); 212 | if (tmp >= 10) ret += (char)((int)'a' + (tmp - 10)); 213 | else ret += tmp; 214 | } 215 | if (Directory.Exists(Path.GetTempPath() + ret)) return rdPath(); 216 | else return ret; 217 | } 218 | } 219 | } 220 | -------------------------------------------------------------------------------- /Gifer/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 165, 17 125 | 126 | -------------------------------------------------------------------------------- /Gifer/Gif.Components.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/Gif.Components.dll -------------------------------------------------------------------------------- /Gifer/Gifer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {60104D2C-EEB6-43B0-9936-775711E44171} 8 | WinExe 9 | Gifer 10 | Gifer 11 | v4.5.2 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | ..\..\..\..\..\Desktop\Gif.Components.dll 37 | 38 | 39 | ..\..\..\..\..\Desktop\ICSharpCode.SharpZipLib.dll 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | Form 56 | 57 | 58 | Form1.cs 59 | 60 | 61 | 62 | 63 | Form1.cs 64 | 65 | 66 | ResXFileCodeGenerator 67 | Resources.Designer.cs 68 | Designer 69 | 70 | 71 | True 72 | Resources.resx 73 | 74 | 75 | SettingsSingleFileGenerator 76 | Settings.Designer.cs 77 | 78 | 79 | True 80 | Settings.settings 81 | True 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /Gifer/Gifer.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /Gifer/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /Gifer/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Gifer 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Gifer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的一般信息由以下 6 | // 控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("Gifer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Gifer")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 会使此程序集中的类型 18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 19 | //请将此类型的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("60104d2c-eeb6-43b0-9936-775711e44171")] 24 | 25 | // 程序集的版本信息由下列四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 生成号 30 | // 修订号 31 | // 32 | // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 33 | // 方法是按如下所示使用“*”: : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Gifer/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本: 4.0.30319.42000 5 | // 6 | // 对此文件的更改可能导致不正确的行为,如果 7 | // 重新生成代码,则所做更改将丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Gifer.Properties 12 | { 13 | 14 | 15 | /// 16 | /// 强类型资源类,用于查找本地化字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// 返回此类使用的缓存 ResourceManager 实例。 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Gifer.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// 覆盖当前线程的 CurrentUICulture 属性 56 | /// 使用此强类型的资源类的资源查找。 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Gifer/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /Gifer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Gifer.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Gifer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Gifer/bin/Debug/Gif.Components.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/bin/Debug/Gif.Components.dll -------------------------------------------------------------------------------- /Gifer/bin/Debug/Gifer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/bin/Debug/Gifer.exe -------------------------------------------------------------------------------- /Gifer/bin/Debug/Gifer.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Gifer/bin/Debug/Gifer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/bin/Debug/Gifer.pdb -------------------------------------------------------------------------------- /Gifer/bin/Debug/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/bin/Debug/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /Gifer/obj/Debug/CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 628e8dfcb54f8d0f70d7487a175495fd436a25c6 2 | -------------------------------------------------------------------------------- /Gifer/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Gifer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.Form1.resources -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.Properties.Resources.resources -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\bin\Debug\Gifer.exe.config 2 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\bin\Debug\Gifer.exe 3 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\bin\Debug\Gifer.pdb 4 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.csprojResolveAssemblyReference.cache 5 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.Form1.resources 6 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.Properties.Resources.resources 7 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.csproj.GenerateResource.Cache 8 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.exe 9 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\obj\Debug\Gifer.pdb 10 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\bin\Debug\Gif.Components.dll 11 | C:\Users\qazws\AppData\Local\Temporary Projects\Gifer\bin\Debug\ICSharpCode.SharpZipLib.dll 12 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\bin\Debug\Gifer.exe.config 13 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\bin\Debug\Gifer.exe 14 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\bin\Debug\Gifer.pdb 15 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.csprojResolveAssemblyReference.cache 16 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.Form1.resources 17 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.Properties.Resources.resources 18 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.csproj.GenerateResource.Cache 19 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.exe 20 | C:\Users\qazws\Documents\Visual Studio 2017\Projects\Gifer\Gifer\obj\Debug\Gifer.pdb 21 | -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.exe -------------------------------------------------------------------------------- /Gifer/obj/Debug/Gifer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/Gifer.pdb -------------------------------------------------------------------------------- /Gifer/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Gifer/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Gifer/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/Gifer/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /PixivDownloader.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ocrosoft/Gifer/5483875f3568be3c1f1e868d8775c2b07aa3059f/PixivDownloader.rar -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gifer 2 | 3 | 将Pixiv上下载的动图zip压缩文件转换成gif文件。 4 | 5 | 1.必须是zip格式文件,无需解压。 6 | 2.可以调节间隔时间。 7 | 3.播放完自动重复。 8 | 9 | ps:不是pixiv上下载的动图zip,需要自己把图片(要求是jpg)打包成一个zip文件,且图片不能包含在文件夹中。 10 | pss:配合该脚本使用:https://greasyfork.org/zh-CN/scripts/30681-pixiv%E5%8A%A8%E5%9B%BE%E4%B8%8B%E8%BD%BD 11 | --------------------------------------------------------------------------------