PowerShell中进行图像格式转换

powershell 缩小并压缩图片 网上找了图片压缩方法,只是缩小了尺寸,现在能设置质量(Quality)达到压缩的效果,设置的尺寸适合移动平台。 function GetEncoder([Drawing.Imaging.ImageFormat]$format) { $codecs = [System.Drawing.Imaging.ImageCodecInfo]::GetImageDecoders() foreach ($codec in $codecs) { if ($cod. 阅读详情

挖坟是不太好的事情, 不过从PowerShell团队上看到下面的代码, 非常好. 这段代码是由: James W. Truher[MS] 编写. 将其存储成ps1文件.

执行:

PS C:/Documents and Settings/Administrator> ./Convert-Image.ps1 -inFile 01.jpg

GAC    Version        Location
---    -------        --------
True   v2.0.50727     C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

LastWriteTime : 2008-7-25 22:05:36
Length        : 135580
Name          : 01.gif

 

代码如下:

# Convert one graphic image to another

param ( $inFile, $type = "gif", $outFile, [switch]$force )

[reflection.assembly]::LoadWithPartialName("System.drawing")

#

# First check to see if our input file exists

$iFile = (resolve-path $inFile -ea silentlycontinue ).path

if ( ! $iFile ) { "File '$inFile' not found, exiting" ; exit } 

# now check to see if the output file exists, if force

# we will continue, otherwise we exit

if ( ! $outFile )

{

    $tFile = get-item (resolve-path $inFile)

    $outFile = $tFile.Fullname -replace ($tFile.Extension + "`$"),".$type"

}

if ( (test-path $outFile) -and (! $force) ) { "File '$outFile' exists, exiting"; exit }

# make sure we have an encoder before changing anything on

# the filesystem

$codecs = [drawing.imaging.ImageCodecInfo]::GetImageEncoders() |

        foreach { $h = @{} } { $h.($_.formatdescription) = $_ } { $h }

$encoder = $codecs.$type

if ( ! $encoder )

{

        "No encoder of type '$type', exiting";

        "Available encodings are: " + [string]::Join(", ", $h.keys)

        exit

}

# This hoop is needed because resolve-path needs

# the file to actually exist.  We shouldn't get here

# unless the file doesn't exist, or we're going to remove it

# by force.

if ( test-path $outFile ) { remove-item $outFile }

[void](new-item -type file $outFile)

$outFile = (resolve-path $outFile).path

remove-item $outFile

# read the image

$image = [system.drawing.image]::FromFile($iFile)

$image.Save($outFile, $encoder.FormatId)

$image.Dispose()

# Get the file we just created

get-item $outFile

Windows终端截图粘贴难题的解决方案 剪贴板作为操作系统核心功能,其数据格式处理机制直接影响开发效率。Windows系统采用CF_DIB格式存储截图数据,而命令行终端通常仅支持纯文本粘贴,这种格式不兼容问题困扰着大量开发者。通过Win32 API访问剪贴板并转换图像数据为临时文件,既保留了原生截图流程的便捷性,又实现了终端环境下的图像引用。该技术方案特别适合文档编写、自动化测试等需要频繁截图的工作场景,其中临时文件管理和路径处理等工程实践细节尤为重要。clipboard-img2file工具通过格式转换巧妙解决了这一痛点,展现了系统编程与工程实 阅读详情

相关推荐

WSL剪贴板打通实战:我是如何用PowerShell+AHK解决Claude无法读图问题的

本文详细介绍了如何通过PowerShell和AutoHotkey(AHK)解决WSL环境下Claude AI无法读取剪贴板图像的问题。文章从问题诊断、技术选型到核心实现细节,提供了一套完整的解决方案,包括图像处理流水线、输入法兼容性处理和性能优化技巧,显著提升了开发效率。

weixin_30296405的博客 446

PowerShell 图片转BASE64

【代码】PowerShell 图片转BASE64。

Wagsn 1092

解决若依Vue3前后端分离---路由切换时显示白屏

解决基于Vue3若依前后端分离项目中出现的路由正常切换但是就是不显示数据的问题,也就是不发起网络请求的问题。

简单点的博客 1585

shell技巧2 - 图片旋转缩放转换格式等

1、前言 在macOS下,如果对大量图片进行处理或数据收集,查找了一下,通过使用 sips 命令,可以进行图片的大部分操作处理,如果使用 shell,就可以灵活和自动化的批量操作图片! 2、sips 用法 常用的用法可以参考: 利器: Mac自带的图片工具Sips,全部的用法可以参考:sips MAN pag...

weixin_33739523的博客 643

Windows系统使用powershell裁剪图片为指定大小

编写运行.ps1文件,实现裁剪图片的功能。

weixin_56337147的博客 1388

PNG/JPG 转 EPS

按住shift右键,在此处打开Powershell窗口 然后在终端输入: bmeps -c map1.png map1.eps 或 bmeps -c map2.jpg map2.eps

一只小菜鸟的博客 515

ConvertTo-Jpeg 开源项目教程

ConvertTo-Jpeg 开源项目教程 项目介绍 ConvertTo-Jpeg 是一个基于 PowerShell 的开源项目,旨在提供一个简单易用的方法将图像文件转换为 JPEG 格式。该项目由 David Anson 开发,适用于需要在 Windows 环境中进行批量图像格式转换的用户。 项目快速启动 安装与配置 首先,确保你的系统上安装了 PowerShell。然后,通过以下命令克隆项目仓...

gitblog_00987的博客 420

Windows上HEIC文件的兼容性解决方案:安装扩展与转换格式

按 Win + X 键,然后选择“Windows PowerShell”或“Windows Terminal”(如果使用的是Windows 11)。如果你不想安装任何软件,可以使用在线转换工具将HEIC文件转换为更常见的格式(如JPEG或PNG)。安装完成后,双击HEIC文件,Windows应该能够使用照片应用或其他图片查看器打开它。在照片应用中,点击“打开”或“文件” > “打开文件夹”,然后选择HEIC文件。打开Photoshop,选择“文件” > “打开”,然后选择HEIC文件。

leleshengh520的博客 6862

使用latex 转 png等图像格式 为 eps格式

在你需要文件夹下打开powershell 然后输入: bmeps -c example.jpg example.eps 完成

bigmushi的博客 637

PowerShell脚本:ConvertTo-Jpeg开源项目介绍

PowerShell脚本:ConvertTo-Jpeg开源项目介绍 1. 项目基础介绍及编程语言 ConvertTo-Jpeg 是由David Anson维护的一个开源项目,该项目的目标是提供一个使用PowerShell编写的脚本,用于将RAW(以及其他格式)图像文件转换为广泛支持的JPEG格式。该脚本利用了Windows Graphics Imaging API进行图像转换,确保转换后的图像质量...

gitblog_00301的博客 474

解锁Wallpaper Engine壁纸资源:RePKG深度解析与实战指南

Wallpaper Engine作为Steam上最受欢迎的动态壁纸平台,其精美的壁纸资源以加密的PKG格式存储,纹理则使用特殊的TEX格式。RePKG正是为解决这一痛点而生的开源工具,能够**解包PKG文件**、**转换TEX纹理**、**深度分析资源结构**,让技术爱好者和进阶用户完全掌控壁纸资源。 ## 🔍 问题诊断:为何需要RePKG? 每个Wallpaper Engine用户都可能遇

gitblog_00883的博客 161

图片格式转换慢?这款工具支持600+格式,处理效率提升80%

作为前端开发工程师或日常办公人员,你是否常被“批量图片格式不统一”今天分享的这款技术工具,能针对性解决这些实操难题。

inmK1的博客 1103

如何在Windows上免费创建企业级虚拟打印机:clawPDF完整使用教程

想要将任何文档快速转换为PDF、OCR文本或图像格式吗?clawPDF是一款功能强大的开源虚拟打印机解决方案,它提供了企业级的文档处理能力,完全免费且支持多种输出格式。无论你是个人用户还是需要在企业环境中部署文档转换系统,clawPDF都能满足你的需求。 这款虚拟打印机不仅支持PDF、PNG、JPEG、TIFF等常见格式,还内置OCR文字识别功能,可以将扫描文档转换为可搜索的PDF。更令人惊喜的

gitblog_00795的博客 219

如何使用PowerShell 收集Azure VM Image列表

这次来分享一下关于Azure的脚本,目前来讲在使用Azure的时候,新创建的一些资源基本上都已经在用ARM模式了,Azure classic portal现在也已经完全被new portal取代,在使用体验上来说ARM模式大部分情况下也被ASM更方便一些,但是也有一些细节的地方因为功能越来越强大,能支持的内容越来越多,有些时候平台本身提供的功能不一定能完全满足我们的需...

weixin_34221036的博客 252

无法将类型“System.Drawing.Image”隐式转换为“System.Windows.Controls.Image

准备从文件夹中读取一张图片并载入到

lxk7280的专栏 1万+

powershell脚本设置电脑分辨率

Function Set-Resolution { param ( [Parameter(Mandatory = $true, Position = 0)] [int] $Width, [Parameter(Mandatory = $true, Position = 1)] [int] $Height ) #设置分辨率 ...

黑兔子JH的博客 4820

使用PowerShell从JPEG访问EXIF照片数据

Omarand I were chatting today and he wanted to to know how to access EXIF data from PowerShell. Omar wrote a nice little photo librarya while back that extracts and interprets EXIF data from images....

cunfuxiao7305的博客 726

ImageMagick & powershell 批量转换图片

目录结构如下 ..\ ..\convert.exe ..\src ..\target Powershell Code set-ExecutionPolicy RemoteSigned $path=get-location $local=$path.Path $localSrc=$local+"\src" $localTarget=$local+"\target" $...

weixin_30855761的博客 566

OData 请求里的 Nextlink 实战:在 ABAP Client Proxy 中优雅处理长列表分页

本文介绍了OData v4标准中的@odata.nextLink分页机制及其在SAP ABAP中的实践应用。重点解析了该机制通过服务端提供的完整URL实现分页获取,客户端只需循环处理直到该字段消失的特点。文章提供了清晰的ABAP代码模板,展示如何通过Remote Client Proxy实现分页数据获取,并强调了仅支持OData v4和远程消费的限制条件。通过HR员工数据聚合的实际案例,说明了流式分页处理的最佳实践,包括服务端过滤、稳定排序和内存控制等关键技术要点,为ABAP开发者提供了可直接落地的解决方案

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 213

电信移动联通运营商版RC3000刷NX30公版详细方法与说需固件。

电信移动联通运营商版RC3000刷NX30公版详细方法与所需固件,该方法三大运营商版本通用,刷完版本号为NX30V100R005 可用H3C魔术家APP

上一篇: [原创][PowerShell教程][08]字符串字面值
下一篇: [PowerShell教程][09]PowerShell中的数组使用
PowerShell
博客等级 码龄19年 103粉丝 110原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值