如何筛选文件夹中的图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何筛选文件夹中的图片相关的知识,希望对你有一定的参考价值。

有竖版有横版,我想把横版找出来做桌面,有什么快点的方法,大小试过了,不行,几千张,慢慢找,要了命了

Windows系统的资源管理器窗口?

菜单:查看>>选择详细信息:勾选“尺寸”。
然后切换到“详细信息”查看模式。
点击“尺寸”列的列标,以尺寸排序。
尺寸的数据形式是400 x 300这样的,应该对你有帮助。

也可以调出更多的详细信息作参考。
(可以从列标(同上,不是“列表”)的右键菜单进入“选择详细信息”。)
参考技术A

Adobe的bridge软件可以实现,

取向

图中的人像是竖版图像的意思

参考技术B Windows系统的资源管理器窗口?

菜单:查看>>选择详细信息:勾选“尺寸”。
然后切换到“详细信息”查看模式。
点击“尺寸”列的列标,以尺寸排序。
尺寸的数据形式是400 x 300这样的,应该对你有帮助。

也可以调出更多的详细信息作参考。
(可以从列标(同上,不是“列表”)的右键菜单进入“选择详细信息”。)本回答被提问者采纳
参考技术C 你可以试一试 时间 或大小 再就是名称了 参考技术D 下载个图库手机中的全部图片都可以显示

在C#中使用正则表达式筛选出图片URL并下载图片URL中的图片到本地

    本功能主要用到的知识点如下:

   1、正则表达式

   2、C#中下载文件功能的实现

   3、泛型集合的使用

   4、进程的简单操作(用于结束当前程序)

       下面就简单说一下是如何使用这些知识点的。先详细说下这个程序主要实现的功能是什么,现有一个文本文件里面都是从网页上复制下来的源代码。现需要将其中的以http、https、ftp开头,以.jpg,.png,.gif开头的图片URL地址筛选出来,并去访问这些链接,将URL中所对应的图片下载下来。经过分析后。决定使用正则表达式筛选URL地址。并使用WebClient类去实现下载的功能。代码如下:

技术分享
  1 using System.Text.RegularExpressions;
  2 using System;
  3 using System.Net;
  4 using System.IO;
  5 using System.Diagnostics;
  6 using System.Collections.Generic;
  7 namespace URLRegex
  8 {
  9     class Program
 10     {
 11         public static List<string> getUrl(string data)
 12         {
 13             List<string> strUrl= new List<string>();//定义泛型,用于存放抓取的URL
 14             string regexStr = @"(http|ftp|https)://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)+\\.(png|jpg|gif)";//查找URL的正则表达式
 15             Regex reg = new Regex(regexStr, RegexOptions.IgnoreCase);//正则表达式的类实例化
 16             MatchCollection mc = reg.Matches(data);//进行匹配
 17             if (mc.Count <= 0)//判断没有抓取到一条合法的URL
 18             {
 19                 Console.WriteLine("未抓取到符合条件的URL,按任意键退出程序");
 20                 Console.ReadKey();
 21                 Process.GetCurrentProcess().Kill();
 22             }
 23             for (int i = 0; i < mc.Count; i++)
 24             {
 25                 strUrl.Add(mc[i].Groups[0].Value);//将匹配的数据装入泛型集合
 26             }
 27             return strUrl;//返回这个泛型集合
 28 
 29         }//得到URL
 30 
 31         public static void downLoad(List<string> tempUrl)
 32         {
 33 
 34             string currentPath = System.Environment.CurrentDirectory;//得到当前目录
 35             Directory.CreateDirectory(currentPath + @"\\photos\\");//在当前目录下创建photos文件夹
 36             string currentPathPhotos = currentPath + @"\\photos\\";//得到photos的路径
 37 
 38             WebClient myDownload = new WebClient();//实例化webclient类,用于下载
 39             int i = 1; //用于图片的命名
 40             Regex regJPG = new Regex(".jpg", RegexOptions.RightToLeft);//判断图片是不是.jpg格式
 41             Regex regPNG = new Regex(".png", RegexOptions.RightToLeft);//判断图片是不是.png格式
 42 
 43             foreach (string temp in tempUrl)//遍历获取到的图片URL,并下载和保存
 44             {
 45                 Match mJpg = regJPG.Match(temp);
 46                 if (mJpg.Success)
 47                 {
 48                     string filePathJpg = currentPathPhotos + i + ".jpg";
 49                     try
 50                     {
 51                         myDownload.DownloadFile(temp, filePathJpg);
 52                         Console.WriteLine("下载成功");
 53                         i++;
 54                     }
 55                     catch
 56                     {
 57                         Console.WriteLine("下载失败");
 58                     }
 59 
 60                 }
 61                 else
 62                 {
 63                     Match mPng = regPNG.Match(temp);
 64 
 65                     if (mPng.Success)
 66                     {
 67                         string filePathPng = currentPathPhotos + i + ".png";
 68                         try
 69                         {
 70                             myDownload.DownloadFile(temp, filePathPng);
 71                             Console.WriteLine("下载成功");
 72                             i++;
 73                         }
 74                         catch
 75                         {
 76                             Console.WriteLine("下载失败");
 77                         }
 78 
 79                     }
 80                     else
 81                     {
 82                         string filePathgif = currentPathPhotos + i + ".gif";
 83                         try
 84                         {
 85                             myDownload.DownloadFile(temp, filePathgif);
 86                             Console.WriteLine("下载成功");
 87                             i++;
 88                         }
 89                         catch
 90                         {
 91                             Console.WriteLine("下载失败");
 92                         }
 93                     }
 94 
 95                 }
 96 
 97             }
 98 
 99             Process.Start("explorer", currentPathPhotos);//完成后立即呈现结果
100         }//实现下载
101 
102         public static void Main()
103         {
104                string currentPath = Environment.CurrentDirectory;   
105                string source= File.ReadAllText(currentPath+@"\\test.txt");//读入文件
106                List<string> temp = getUrl(source);//筛选URL
107                Console.WriteLine("筛选后的URL地址如下:");
108                foreach (string t in temp)
109               {
110                 Console.WriteLine(t.ToString());//输入URL
111                }
112                Console.WriteLine("正在下载图片……");
113                downLoad(temp);//下载图片
114                Console.WriteLine("\\n下载结束,按任意键退出");
115                Console.ReadKey();
116         }//主函数
117     }
118 }
View Code

 

难点是:

1、正则表达式的构建,因为才接触到正则表达式,所以对于其正则表达式的构建不是很熟悉,自己也在百度了查了不少的资料。也看过别人的写的一些相似的正则表达式后。才写出了这个正则表达式。

2、异常的处理。比如文件打开失败,下载失败。未得到正确的URL地址等等。(解决方案:添加上try和catch在catch中用到了当前进程的结束)。

以上是关于如何筛选文件夹中的图片的主要内容,如果未能解决你的问题,请参考以下文章

python筛选特定文件的信息按照格式输出到txt

如何把JPEG格式的图片粘贴到EXCEL表格中?

安卓手机excel中的数据怎样筛选

如何筛选下来基于时间的文件的一个子集?

TotalCommander使用方法,如何对图片批量重命名

bat中如何筛选文本文件中某行某段文字,提取并给变量赋值