这听起来像是对已经提出的问题的重新发布。但是,我花了几天时间查看和测试来自许多不同网站(包括 stackoveflow.com)的许多不同示例。到目前为止,我得到的结果大多是不希望的,对于如何实现这一目标或产生良好结果的东西有点迷茫?如果有人能够提供帮助,我将不胜感激!
我在 VB.NET 中工作并使用 Visual Studio 2015。
我的目标是在文本编辑器(我使用 WPS Office)中打开生成的 RTF 文件时获得清晰的图像。然而,我在最终的 RTF 文档中得到的低质量、失焦图像并不是我想要使用它的描述的好标题!打印后也不好看!我不是在寻找缩略图,因为较大的文档标题需要该图像。
我尝试过的大多数解决方案都是调整图像大小,然后将其粘贴到富文本框 (RTB) 中。
但是,虽然我尝试过使用插值、抗锯齿等,但效果并不理想。对于调整大小,我尝试了使用除法、百分比等的示例。
我正在开发一个供我个人使用的应用程序,该应用程序将活动解决方案/应用程序(即位图)的屏幕截图“粘贴”到图片框(PB)中,并使用剪贴板粘贴到 RTB 中,附加标题,然后手动添加文本RTB 和结果保存为 RTF 文件。
我发现的图像质量问题:
- 在图片框中调整/缩放原件(或副本)的大小/缩放后粘贴图像会降低质量?
- 保存到 RTF 文件或在文本编辑器中打开 RTF 文件会降低质量?(不确定是什么导致了问题?)
这两个过程都会导致低质量、失焦的图像(有或没有插值、平滑、抗锯齿等)?因此,在我看来,在粘贴之前调整大小会降低质量。我尝试直接从剪贴板粘贴,并将图片从图片框复制到剪贴板,然后粘贴到 RTB。这两个程序都能产生良好的效果!
客观地说,我不能分享我测试过的所有代码,但在下面分享一个为我生成最佳图像质量的简单代码示例,即只需将屏幕截图直接从剪贴板粘贴到 RTB。但是,粘贴到 RTB 后生成的图像尚未调整大小,因此太大。我不想手动调整 RTF 文档中的图像大小,因为这将是一项极其重复的任务!
将位图粘贴到 RTF 后,我使用了 Select All 或 Selection Start - 1 方法来选择 RTB 中的图像,但是为了解决我的问题,“如何调整 RTB 中的图像大小?”
你可能会问我为什么要这样做。好吧,将位图直接粘贴到 RTB 中可以得到与图片框中相同质量的图像。保存到 RTF 文件并在文本编辑器中打开后会有轻微的损失,但质量比上面提到的其他方法(即调整大小然后粘贴)要好得多!所以,我很好奇尝试粘贴然后调整大小!这是我的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Check whether PB1 is empty:
If PictureBox1.Image Is Nothing Then
'Get image from clipboard to PB1:
PictureBox1.Image = My.Computer.Clipboard.GetImage
'Resize image to fit PB1:
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
'Paste image:
RichTextBox1.Paste()
结束子