2012-11-28 57 views
0

我有这样的代码从prtscreen创建图像:选择图像的大小 - PowerShell的

$Bitmap = new-object System.Drawing.Bitmap (2200,2200) 
$Size = New-object System.Drawing.Size 2400,1800 
$FromImage = [System.Drawing.Graphics]::FromImage($Bitmap) 
$FromImage.copyfromscreen(0,0,0,0, $Size, ([System.Drawing.CopyPixelOperation]::SourceCopy)) 
$Bitmap.Save("c:\temp\screenshot.jpg",([system.drawing.imaging.imageformat]::bmp)) 

我的问题是,我需要建立大尺寸图像。我可以使用imageformat BMP来做到这一点,但现在我需要以MB为单位选择图像的大小。我需要选择1到50 MB。

你能帮我吗?谢谢

回答

0

使用BMP格式,创建的文件的大小将基于位图的宽度/高度。我还注意到你将这个图像保存为JPEG。在这种情况下,您应该使用[Drawing.Imaging.ImageFormat]::Jpeg进行保存。

尝试不同的PixelFormat例如为:

$Bitmap = new-object System.Drawing.Bitmap (2200,2200,'Format24bppRgb') 
+0

喜基思,我这样做ntentionally。扩展名必须为JPG,但如果我使用的尺寸太小。所以我使用BMP格式并保存为JPG格式。我的大问题是选择尺寸。需要大1到50 MB之间 –

+0

如果我创建了2200x2200 bmp 24位颜色,则文件大小为〜14MB。尝试使用不同的PixelFormat枚举值来查看是否可以获得更高的颜色深度。 –

+0

嗨基思,不幸的是不工作太(改变像素格式)。我能得到的最大值是18MB :(无论如何,感谢您的努力:) –