none
如何实现图像分辨率的调整? RRS feed

  • 问题

  • 原先使用FrameWork2.0中的bitmap.save()方法生成Jpg图像文件,可以使用bitmap.SetResolution()方法设置图像的分辨率,但是不能设定输出图像的色深。现在使用framework3.5中的bitmapsource、bitmapimage以及FormatConvertedBitmap时,却找不到分辨率设置的方法(比如600DPI To 300DPI),请问如何才能进图像行分辨率的调整呢?
    凡可
    2009年9月24日 4:52

答案

  • public

     

     

    static BitmapSource Create(int pixelWidth, int pixelHeight, double dpiX, double dpiY, PixelFormat pixelFormat, BitmapPalette palette, Array pixels, int stride);
    所以你可以在初始化的时候就设定好resolution
    BitmapSource imgSource = BitmapSource.Create(1024, 768, 96, 96, PixelFormats.Rgba64, null, yourbitmappixelarray, yourbitmapstride);
    2009年9月28日 8:35

全部回复

  • 原先使用FrameWork2.0中的bitmap.save方法生成Jpg图像文件,可以使用bitmap.SetResolution方法设置图像的分辨率,但是不能设定输出图像的色深。现在使用framework3.5中的bitmapsource或bitmapimage时,却找不到分辨率设置的方法,请问如何才能进图像行分辨率的调整呢?
    2009年9月24日 3:34
  • 你好!

    你可以到 WPF 版块提问,以便你能够更快的得到答复。


    知识改变命运,奋斗成就人生!
    2009年9月24日 4:46
    版主
  • 楼主你好,

    首先建议您不要发重复的贴子,这样会分散论坛其他成员对你问题的关注.
    你可以用DecodePixelWidth/DecodePixelHeight属性来设置.

    谢谢.
    Jim Zhou -MSFT
    2009年9月25日 7:49
    版主
  • 抱歉,原先并不是在这个板块发的帖子,而我似乎也不能转移帖子,所以只好根据版主的建议到这里重新开了个帖子。

    首先感谢您的回复,不过我觉得改变图像的分辨率似乎不应该是靠DecodePixelWidth/DecodePixelHeight属性来调整吧?这个看来只是控制图像加载后的宽度和高度啊,这样保存后只是调整了图像尺寸吧,分辨率能变化吗?
    凡可
    2009年9月25日 8:09
  • public

     

     

    static BitmapSource Create(int pixelWidth, int pixelHeight, double dpiX, double dpiY, PixelFormat pixelFormat, BitmapPalette palette, Array pixels, int stride);
    所以你可以在初始化的时候就设定好resolution
    BitmapSource imgSource = BitmapSource.Create(1024, 768, 96, 96, PixelFormats.Rgba64, null, yourbitmappixelarray, yourbitmapstride);
    2009年9月28日 8:35
  • 你最后解决了吗?我也是用SetResolution方法调整的,但是没显示的变化?

    新手上路,大神指点!

    2012年8月31日 16:21