标题: 批量把txt文本里的内容做成图片 [打印本页]
作者: xiaohutok1 时间: 2021-8-23 23:29 标题: 批量把txt文本里的内容做成图片
本帖最后由 xiaohutok1 于 2021-8-23 23:34 编辑
文本里行数都是30行左右,内容没有很多。 我要的效果和截个图差不多。 做成正方形的图片。
每个子文件夹里都有一个txt文本,弄成图片后放到各自的文件夹里就行,文件名就aa.jpg
自己一个一个去弄成图片好麻烦
有偿 150
作者: zaqmlp 时间: 2021-8-24 01:06
- <# :
- cls&echo off
- rem txt及bat的编码存为ANSI/GB2312
- cd /d "%~dp0"
- powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
- pause
- exit
- #>
- $codes=@'
- using System;
- using System.IO;
- using System.Text;
- using System.Drawing;
- using System.Drawing.Imaging;
- public static class TextToImage{
- public static void Save(string textFile,string imageFile){
- System.Drawing.Font drawFont=new System.Drawing.Font("宋体", 14);
- System.Drawing.Bitmap image=new System.Drawing.Bitmap(1, 1);
- System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(image);
- String text=System.IO.File.ReadAllText(textFile, System.Text.Encoding.GetEncoding("GB2312"));
- System.Drawing.SizeF sf=g.MeasureString(text, drawFont, 1024);
- image=new System.Drawing.Bitmap(image, 1024, 1024);
- g=System.Drawing.Graphics.FromImage(image);
- g.Clear(System.Drawing.Color.White);
- g.TextRenderingHint=System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
- g.DrawString(text, drawFont, System.Drawing.Brushes.Black, new System.Drawing.RectangleF(new System.Drawing.PointF(0, 0), sf));
- image.Save(imageFile, System.Drawing.Imaging.ImageFormat.Jpeg);
- g.Dispose();
- image.Dispose();
- }
- }
- '@;
- Add-Type -TypeDefinition $codes -ReferencedAssemblies 'System.Drawing';
-
- $self=get-item -liter $args[0];
- $path=$self.Directory.FullName;
- $folders=@(dir -liter $path|?{$_ -is [System.IO.DirectoryInfo]});
- for($i=0;$i -lt $folders.length;$i++){
- $files=@(dir -liter $folders[$i].FullName|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($j=0;$j -lt $files.length;$j++){
- write-host ($files[$j].FullName.Substring($path.length));
- $jpgfile=$files[$j].Directory.FullName+'\aa.jpg';
- [TextToImage]::Save($files[$j].FullName,$jpgfile);
- }
- }
复制代码
作者: xiaohutok1 时间: 2021-8-24 21:17
回复 2# zaqmlp
查收
作者: xiaohutok1 时间: 2021-8-30 18:26
回复 2# zaqmlp
哥 ,能不能帮我稍微改下。 其他都一样,添加一个指定文件名的txt处理,其他的txt不处理。 谢谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |