首页 > 解决方案 > 需要帮助修改和编写 JPG 图像

问题描述

为了便于讨论,假设我正在编写的程序是玩井字游戏。我想创建一个单独的 JPG 图像来显示每个动作 - 首先在图像的左侧移动,然后在它旁边移动,等等。在下面的代码中,例程 drawImage 就是这样做的 - 它构建了一个位图董事会。以下是代码的简化版本:

Sub Main
  buildImage (1)
  buildImage (2)
End Sub

Sub buildImage (ByRef rNum As Integer)
  Dim bmp As Bitmap
  bmp = drawImage(rNum) ' creates a bitmap
  
  Dim bmpSave As Bitmap
  If rNum 1 2 Then
    bmpSave = bmp
  Else
    Dim obmp As Bitmap = New Bitmap(Image.FromFile(<file_name>))
    Dim gr As Graphics = Graphics.FromImage(obmp)

    gr.DrawImage(obmp, <0 offset>, <size>)
    gr.DrawImage(bmp, <offset by bitmp width>, <double size>)
    bmpSave = New Bitmap(obmp.Width + imgHorSize, bmp.Height, gr)
  End If

  bmpSave.Save(<file_name>, ImageFormat.Jpeg)
End Sub

第一次调用 buildImage,程序正常运行,JPG 图像被写入磁盘。问题是第二次调用 buildImage 并且问题似乎出现在 Save 方法行 - 程序挂在那里并且不返回。我尝试在 Save 方法之后添加 bmpSave.Dispose ,但这没有帮助。

为了了解发生了什么,我让程序在 rNum=1 时不写入 JPG,但它仍然失败。因此,问题不在于文件正在打开(我最初的想法),而可能与 DrawImage 方法调用有关。我正在尝试做的是读取第一步的图像并在其右侧添加第二步的图像。请指出正确的方向,谢谢!

标签: jpegbmp

解决方案


推荐阅读