每次我旋转图像时,我的系统内存都会增加

Sinesters

不确定我是不是疯了,但我有一个简单的滑块,可以旋转图像,但是每次旋转图像时,系统内存都会不断增加,有没有办法清除此缓存,我觉得我'我做错了什么。

    public partial class Rulercompass : Form
    {

        Image img;
        int angle;

        public Rulercompass()
        {
            InitializeComponent();
        }

        private void Rulercompass_Load(object sender, EventArgs e)
        {

            img = Image.FromFile(@"C:\teste.jpg");

        }

        private void Rulercompass_Paint(object sender, PaintEventArgs e)
        {
            Bitmap bit_map = new Bitmap(img.Width, img.Height);
            using(Graphics gfx = Graphics.FromImage(bit_map))
        {
            gfx.TranslateTransform(bit_map.Width / 2, bit_map.Height / 2);
            gfx.RotateTransform(angle);
            gfx.TranslateTransform(-bit_map.Width / 2, -bit_map.Height / 2);
            gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;

            gfx.DrawImage(img, 0, 0);
            e.Graphics.TranslateTransform(this.Width / 2, this.Height / 2);
            e.Graphics.DrawImage(bit_map, -bit_map.Width/2,-bit_map.Height/2);
         }
        }

        private void Rulercompass_Resize(object sender, EventArgs e)
        {
            Invalidate();
        }

        private void trackBar1_ValueChanged(object sender, EventArgs e)
        {
            angle = trackBar1.Value;
            Invalidate();
        }
    }
}
Sinesters

找到解决方案,感谢 Ňɏssa Pøngjǣrdenlarp

private void Rulercompass_Paint(object sender, PaintEventArgs e)
{
    Bitmap bit_map = new Bitmap(img.Width, img.Height);
    using (Graphics gfx = Graphics.FromImage(bit_map))
    {
        gfx.TranslateTransform(bit_map.Width / 2, bit_map.Height / 2);
        gfx.RotateTransform(angle);
        gfx.TranslateTransform(-bit_map.Width / 2, -bit_map.Height / 2);
        gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;

        gfx.DrawImage(img, 0, 0);
        e.Graphics.TranslateTransform(this.Width / 2, this.Height / 2);
        e.Graphics.DrawImage(bit_map, -bit_map.Width / 2, -bit_map.Height / 2);
    }
    bit_map.Dispose();// after using dispose this is what was missing
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每次尝试用神经网络识别图像时,我都会得到不同的答案

来自分类Dev

为什么每次我选择数组的任何图像时,视图分页器都会显示数组的最后一个图像?

来自分类Dev

每次我打开Visual Studio时登录信息都会失败

来自分类Dev

每次我按“ Android Studio”按钮时都会崩溃

来自分类Dev

每次我重复点击时,jquery transitionend函数都会提示

来自分类Dev

每次我发送表格时都会清除该数组

来自分类Dev

我每次使用UPDATE时,日期,时间都会重置

来自分类Dev

精美的文字,每次保存时都会问我密码

来自分类Dev

每次我按“ Android Studio”按钮时都会崩溃

来自分类Dev

每次加载时我的应用程序都会停止

来自分类Dev

每次我提交时都会删除 Composer 包

来自分类Dev

每次我重新启动系统时,我所有的任务栏收藏夹都会重置为默认值

来自分类Dev

为什么每次我开始我的函数时我都会得到 NaN

来自分类Dev

当我在MySQL表中插入多行时,id每次都会增加1吗?

来自分类Dev

我正在尝试制作一个简单的程序,每次用户单击按钮时都会增加一个数字

来自分类Dev

弄乱了我的/ etc / profile,现在每次我登录时都会弹出一个错误

来自分类Dev

每次我进行常规构建时,LPCXpresso 都会开始重建我的整个项目

来自分类Dev

我无法启动到 linux,每次我尝试时都会遇到这些错误并且卡住了

来自分类Dev

如何从终端升级操作系统?每次尝试时,我都会被告知一切都是最新的

来自分类Dev

当我在滚动UITableview时显示文档目录中的图像时,内存不断增加,然后应用崩溃

来自分类Dev

当我尝试显示我的 Json 响应(改造)时,每次在我的卡片视图中都会重复相同的元素

来自分类Dev

URL RewriteRule不起作用。我的URL在每次提交表单时都会追加

来自分类Dev

子手PHP,但是每次按下提交时,我的词都会改变

来自分类Dev

每次我尝试安装软件包时,APT都会尝试配置PostgreSQL

来自分类Dev

每次我使用scikit运行线性回归时都会得到不同的结果

来自分类Dev

每次我调用Auth :: user()时,Laravel都会查询数据库吗?

来自分类Dev

为什么每次我编写代码时XCode 7.1都会编译代码?

来自分类Dev

每次我按下按钮时,jQuery都会阻止添加倍增

来自分类Dev

每次我更改目录时都会调用ls命令的Shell脚本

Related 相关文章

  1. 1

    每次尝试用神经网络识别图像时,我都会得到不同的答案

  2. 2

    为什么每次我选择数组的任何图像时,视图分页器都会显示数组的最后一个图像?

  3. 3

    每次我打开Visual Studio时登录信息都会失败

  4. 4

    每次我按“ Android Studio”按钮时都会崩溃

  5. 5

    每次我重复点击时,jquery transitionend函数都会提示

  6. 6

    每次我发送表格时都会清除该数组

  7. 7

    我每次使用UPDATE时,日期,时间都会重置

  8. 8

    精美的文字,每次保存时都会问我密码

  9. 9

    每次我按“ Android Studio”按钮时都会崩溃

  10. 10

    每次加载时我的应用程序都会停止

  11. 11

    每次我提交时都会删除 Composer 包

  12. 12

    每次我重新启动系统时,我所有的任务栏收藏夹都会重置为默认值

  13. 13

    为什么每次我开始我的函数时我都会得到 NaN

  14. 14

    当我在MySQL表中插入多行时,id每次都会增加1吗?

  15. 15

    我正在尝试制作一个简单的程序,每次用户单击按钮时都会增加一个数字

  16. 16

    弄乱了我的/ etc / profile,现在每次我登录时都会弹出一个错误

  17. 17

    每次我进行常规构建时,LPCXpresso 都会开始重建我的整个项目

  18. 18

    我无法启动到 linux,每次我尝试时都会遇到这些错误并且卡住了

  19. 19

    如何从终端升级操作系统?每次尝试时,我都会被告知一切都是最新的

  20. 20

    当我在滚动UITableview时显示文档目录中的图像时,内存不断增加,然后应用崩溃

  21. 21

    当我尝试显示我的 Json 响应(改造)时,每次在我的卡片视图中都会重复相同的元素

  22. 22

    URL RewriteRule不起作用。我的URL在每次提交表单时都会追加

  23. 23

    子手PHP,但是每次按下提交时,我的词都会改变

  24. 24

    每次我尝试安装软件包时,APT都会尝试配置PostgreSQL

  25. 25

    每次我使用scikit运行线性回归时都会得到不同的结果

  26. 26

    每次我调用Auth :: user()时,Laravel都会查询数据库吗?

  27. 27

    为什么每次我编写代码时XCode 7.1都会编译代码?

  28. 28

    每次我按下按钮时,jQuery都会阻止添加倍增

  29. 29

    每次我更改目录时都会调用ls命令的Shell脚本

热门标签

归档