C# 创建高分辨率图像

C# 创建高分辨率图像,c#,silverlight,pivotviewer,C#,Silverlight,Pivotviewer,我有一张分辨率为1600*1200(96 dpi)的图像(png) 我在图像上添加了一些文本,然后将其保存到一个文件中,以便使用silverlight的deepzoom和pivotviewer加载。放大时文本模糊,我想知道如何使文本看起来更清晰(只有放大一点) 这是我第一次使用图像/图形进行编程,因此任何信息都非常有用(即阅读链接、理解概念等) JD.我以前从未使用过这些控件,但您可能最终不得不覆盖缩放算法(如果可能的话,我不知道)。如果图像中有文本,并且没有使用基于矢量的图像(SVG、EMF、

我有一张分辨率为1600*1200(96 dpi)的图像(png)

我在图像上添加了一些文本,然后将其保存到一个文件中,以便使用silverlight的deepzoom和pivotviewer加载。放大时文本模糊,我想知道如何使文本看起来更清晰(只有放大一点)

这是我第一次使用图像/图形进行编程,因此任何信息都非常有用(即阅读链接、理解概念等)


JD.

我以前从未使用过这些控件,但您可能最终不得不覆盖缩放算法(如果可能的话,我不知道)。如果图像中有文本,并且没有使用基于矢量的图像(SVG、EMF、WMF等),任何类型的拉伸都会变得模糊

如果可能的话,一种不同的缩放算法可以决定如何拉伸像素。对于文本,在图像调整大小时,您正在寻找一种称为“最近邻”或甚至“双立方”插值的方法。这些方法的处理成本更高,因此您可能无法获得与默认插值算法(无论是什么)一样平滑的缩放效果

有一些论坛帖子开始了同样的讨论,但没有真正的方向。也许你可以跟随他们,看看他们是如何进步的。否则我恐怕帮不了什么忙

在上一篇文章中,他们提到了
BitmapScalingMode
枚举中的不同插值算法。其中一个选项是
NearestNeighbor
。还有一些调整大小的图像示例

更新:

在中,作者介绍了一种改变深度缩放控件使用的图像平铺质量的方法(他使用的是Silverlight!)。作者在其项目中通过几行代码有效地改变了创建图像的方式:

if (bSmoothScaling)
{
  g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
  g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
  g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
}
在作业列表中,你可以找到我提到的插值模式,以及一些我不知道的其他东西。作者确实提到了“高质量”对性能的重大影响


希望您能够以某种方式将这个概念融入Silverlight。祝你好运

我以前从未使用过这些控件,但最终可能不得不覆盖缩放算法(如果可能的话,我不知道)。如果图像中有文本,并且没有使用基于矢量的图像(SVG、EMF、WMF等),任何类型的拉伸都会变得模糊

如果可能的话,一种不同的缩放算法可以决定如何拉伸像素。对于文本,在图像调整大小时,您正在寻找一种称为“最近邻”或甚至“双立方”插值的方法。这些方法的处理成本更高,因此您可能无法获得与默认插值算法(无论是什么)一样平滑的缩放效果

有一些论坛帖子开始了同样的讨论,但没有真正的方向。也许你可以跟随他们,看看他们是如何进步的。否则我恐怕帮不了什么忙

在上一篇文章中,他们提到了
BitmapScalingMode
枚举中的不同插值算法。其中一个选项是
NearestNeighbor
。还有一些调整大小的图像示例

更新:

在中,作者介绍了一种改变深度缩放控件使用的图像平铺质量的方法(他使用的是Silverlight!)。作者在其项目中通过几行代码有效地改变了创建图像的方式:

if (bSmoothScaling)
{
  g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
  g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
  g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
}
在作业列表中,你可以找到我提到的插值模式,以及一些我不知道的其他东西。作者确实提到了“高质量”对性能的重大影响


希望您能够以某种方式将这个概念融入Silverlight。祝你好运

谢谢你的回复。拥有接近零的图形编码知识,非常感谢您的帮助。感谢Cory的回复。拥有接近零的图形编码知识,非常感谢您的帮助。