我已经安装了新版本的As姿势成像组件(版本17.7.0.0),我需要重写代码,以便它将支持下面的新版本组件,如果我需要重写
因为它不接受默认构造函数,所以tiff选项代码存在问题
public void ImageToTIFF(string imagePath, string outputPath, string server, string folder, int sequenceNumber)
{
int page = 0;
using (Aspose.Imaging.Image inputImage = Aspose.Imaging.Image.Load(imagePath))
{
page++;
Aspose.Imaging.ImageOptions.TiffOptions tiffSaveOptions = new Aspose.Imaging.ImageOptions.TiffOptions();
tiffSaveOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax4;
tiffSaveOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.MinIsBlack;
tiffSaveOptions.BitsPerSample = new ushort[] {1};
tiffSaveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.CreateMonochrome();
// Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.RasterImage image = inputImage as Aspose.Imaging.RasterImage;
Aspose.Imaging.Color[] imageColors = image.LoadPixels(inputImage.Bounds);
int power;
for (int i = 0; i <= imageColors.Length - 1; i++)
{
try
{
power = (int)imageColors[i].R + (int)imageColors[i].G + (int)imageColors[i].B;
if (power < 380)
{
imageColors[i] = Aspose.Imaging.Color.White;
}
else
{
imageColors[i] = Aspose.Imaging.Color.Black;
}
}
catch (Exception ex)
{
Console.WriteLine("i: {0}, imageColors[i].R: {1}, imageColors[i].G: {2}, imageColors[i].B: {3}", i, imageColors[i].R, imageColors[i].G, imageColors[i].B);
Console.WriteLine("Error: {0}", ex.Message);
imageColors[i] = Aspose.Imaging.Color.White;
}
}
Aspose.Imaging.RasterImage imagePixels = inputImage as Aspose.Imaging.RasterImage;
imagePixels.SavePixels(inputImage.Bounds, imageColors);
inputImage.Save(outputPath + FileCreateTime(new FileInfo(imagePath)) + "_" + server + "_" + folder + "_" + sequenceNumber.ToString("D6") + "_" + page.ToString("D4") + ".tif", tiffSaveOptions);
}
}
发布于 2017-08-25 00:34:24
我观察到了您的需求,并希望与您分享,Aspose.Imaging中的TiffOptions类没有默认的空构造函数可用。我建议您尝试在您的终端上使用以下替代示例代码来实现此目的。
public void ImageToTIFF(string imagePath, string outputPath, string server, string folder, int sequenceNumber)
{
int page = 0;
using (Aspose.Imaging.Image inputImage = Aspose.Imaging.Image.Load(imagePath))
{
page++;
Aspose.Imaging.ImageOptions.TiffOptions tiffSaveOptions = new Aspose.Imaging.ImageOptions.TiffOptions(TiffExpectedFormat.Default);
tiffSaveOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax4;
tiffSaveOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.MinIsBlack;
tiffSaveOptions.BitsPerSample = new ushort[] { 1 };
tiffSaveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.CreateMonochrome();
// Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.RasterImage image = inputImage as Aspose.Imaging.RasterImage;
Aspose.Imaging.Color[] imageColors = image.LoadPixels(inputImage.Bounds);
int power;
for (int i = 0; i <= imageColors.Length - 1; i++)
{
try
{
power = (int)imageColors[i].R + (int)imageColors[i].G + (int)imageColors[i].B;
if (power < 380)
{
imageColors[i] = Aspose.Imaging.Color.White;
}
else
{
imageColors[i] = Aspose.Imaging.Color.Black;
}
}
catch (Exception ex)
{
Console.WriteLine("i: {0}, imageColors[i].R: {1}, imageColors[i].G: {2}, imageColors[i].B: {3}", i, imageColors[i].R, imageColors[i].G, imageColors[i].B);
Console.WriteLine("Error: {0}", ex.Message);
imageColors[i] = Aspose.Imaging.Color.White;
}
}
Aspose.Imaging.RasterImage imagePixels = inputImage as Aspose.Imaging.RasterImage;
imagePixels.SavePixels(inputImage.Bounds, imageColors);
inputImage.Save(outputPath + FileCreateTime(new FileInfo(imagePath)) + "_" + server + "_" + folder + "_" + sequenceNumber.ToString("D6") + "_" + page.ToString("D4") + ".tif", tiffSaveOptions);
}
}
我希望分享的信息会对你有所帮助。
我在Aspose担任支持开发人员/布道者。
非常感谢,
https://stackoverflow.com/questions/45847443
复制相似问题