问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# 为什么我在位图上进行像素操作后,图片没有任何改变呢?

发布网友 发布时间:2024-09-26 18:08

我来回答

2个回答

热心网友 时间:2024-10-06 11:40

//试试这个
        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bm = new Bitmap("D:\\1.bmp");
            bm = CreateNonIndexedImage(bm);
            pictureBox1.Image = DrawLine(bm);

        }

        private Bitmap DrawLine(Bitmap bm)
        {
            for (int x = 0; x < 100; x += 5)
                for (int y = 0; y < 100; y += 5)
                    bm.SetPixel(x, y, Color.Red);
            return bm;
        }

        public Bitmap CreateNonIndexedImage(Image src)
        {
            Bitmap bm = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
            using (Graphics gfx = Graphics.FromImage(bm))
            {
                gfx.DrawImage(src, 0, 0);
            }
            return bm;
        }

热心网友 时间:2024-10-06 11:46

SetPixel操作的是像素。 一个像素比较小。你的操作没问题,已经改变了。放大数倍应该能看到。
你把x,y的值写大一写。
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
bmp.SetPixel(i,j,Color.Red);
}
}
这样设置的是一个100*100像素红色正方体。 这样不用放大就可以看出来。

热心网友 时间:2024-10-06 11:46

//试试这个
        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bm = new Bitmap("D:\\1.bmp");
            bm = CreateNonIndexedImage(bm);
            pictureBox1.Image = DrawLine(bm);

        }

        private Bitmap DrawLine(Bitmap bm)
        {
            for (int x = 0; x < 100; x += 5)
                for (int y = 0; y < 100; y += 5)
                    bm.SetPixel(x, y, Color.Red);
            return bm;
        }

        public Bitmap CreateNonIndexedImage(Image src)
        {
            Bitmap bm = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
            using (Graphics gfx = Graphics.FromImage(bm))
            {
                gfx.DrawImage(src, 0, 0);
            }
            return bm;
        }

热心网友 时间:2024-10-06 11:46

SetPixel操作的是像素。 一个像素比较小。你的操作没问题,已经改变了。放大数倍应该能看到。
你把x,y的值写大一写。
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
bmp.SetPixel(i,j,Color.Red);
}
}
这样设置的是一个100*100像素红色正方体。 这样不用放大就可以看出来。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
靓仔怎么在班里受欢迎啊? 男的叫哥,女的叫姐 2024年nba总决赛几号开始总决赛赛程时间表出炉了-今日头条 无限连接的打印机不能打印公务员准考证 全国流量什么意思 新笑傲江湖手游恒山不能复活吗 有没有复活技能解答 新笑傲江湖手游恒山派怎么样_新笑傲江湖手游恒山派技能详解 新笑傲江湖恒山菩提武学怎么玩_恒山菩提武学玩法介绍 c语言argc参数在哪里设置? 这个C语言程序为何运行不出 青州适合自驾游的路线有哪些? c#中能不能使用指针 2023年给虎宝宝起名字 大气好听的名字优选 C#中图片已经保存于Bitmap中,如何实现将该Bitmap图像保存在本地磁盘... h510m主板配什么cpu最合理? c#如何按一定大小读入图片到bitmap里 C#的BitmapData使用技巧介绍_C#的BitmapData使用技巧是什么 ...PM2.5监测指标.PM2.5是指大气中直径小于或等于2.5微米的颗粒物也称... 王菲对李嫣窦靖童谁好 为什么不争夺抚养权 ...灰霾天气在全国多个城市频繁出现,PM2.5成了公众与政府共同关注的话题... ...日报技术规定》已将PM2.5作为一般评价项目纳入标准.PM2.5是指... ...PM2.5是指大气中直径小于或等于2.5___的颗粒物,也称之为 ...PM2.5监测指标,PM2.5是指大气中直径小于或等于2.5微米的可吸入颗_百... ...PM2.5颗粒物是形成灰霾的罪魁祸首.PM2.5是指大气中直径小于或_百度... ...人关注一个专业术语“PM2.5”.“PM2.5”是指直径小于或等于2.5... ...是指大气中直径小于或等于2.5微米的细小颗粒物 犯罪社会学主要理论 现在2500 左右的能组装什么样的台式机,要求能玩魔兽这样的游戏_百度知 ... 我是自考电子商务的,想要配一台电脑,有什么好的建议吗?拜托了!急用... 九款新能源汽车充电枪拆解汇总 ...支持PCIe Gen 4和Wi-Fi 6E,你最期待哪一款? C#做RPG游戏地图时,怎么把位图文件分成32*32的Tile,然后可以用数组来表... 仓库作业的流程 寻找剧情好 然后搞笑的漫画 10部搞笑的日本动漫你一定没看过,千万不要吃饭的时候看~ 建筑物与变压器之间的距离是多少? 推荐几部搞笑的日本漫画,别的也行,能下载在手机看的 求一个日本搞笑漫画的名字 生产物流工艺操作 十三月游戏好玩吗 undecember十三月绿色敏捷技能石属性汇总 猫跟着人走怎么办? 想找一部欧美电影 电视剧,有谁知道叫什么? - 知乎 腾讯上有什么质量高的悬疑电影或者电视剧呢? 最近出门总是被猫跟着,它也不叫,就一直跟着我到大马路,到底怎么... vivo手机充电器能给华为手机充电吗? 碗莲在几月份种植? 碗莲几月份种植 碗莲适合种植的时间推荐 碗莲什么时候种合适 种碗莲时间 普洱茶的历史渊源介绍