精华内容
下载资源
问答
  • 位图显示和画图

    2014-10-16 21:34:09
    显示位图画图 程序比较简单
  • 平台:DEV-C++ 5.8.3 语言:C++ 功能: ...就是想程序在坐标层次控制位图。 2)可用C++在源码级别生成位图,画个小画;读入位图数据,转换位图格式。 3)将图片转化为单片机开发能用到的液晶坐标文件。
  • //把队列里的方格画到位图,再图到窗口窗户区,直接画到客户区会很慢,因为每画一个格就会走一趟控制画图事件流程 private void DrawRs() { Bitmap b = new Bitmap(this.Width, this.Height); Graphics c = ...

    代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            private Rectangle lastrc = new Rectangle();
            private List<Rectangle> rs = new List<Rectangle>();
            private Dictionary<int, int> cs = new Dictionary<int, int>();
    
            public Form1()
            {
                InitializeComponent();
                MakeRs();
            }
            //按窗口客户区大小生成方格
            private void MakeRs()
            {
                int n = 16;
                int w = ClientRectangle.Width / n;
                int h = ClientRectangle.Height / n;
                rs.Clear();
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < n; j++)
                    {
                        rs.Add(new Rectangle(w * i, h * j, w, h));
                    }
                }
            }
            //把队列里的方格画到位图,再图到窗口窗户区,直接画到客户区会很慢,因为每画一个格就会走一趟控制画图事件流程
            private void DrawRs()
            {
                Bitmap b = new Bitmap(this.Width, this.Height);
                Graphics c = Graphics.FromImage(b);
                int d = new Random().Next();
    
                c.Clear(Color.White);
                int x = 1;
                int s = cs.Count;
                foreach (var r in rs)
                {
                    d = d * 1713;
                    if(s < 1)
                    {
                        cs.Add(x, d);
                    }
                    d = cs[x];
                    c.DrawRectangle(Pens.Black, r);
                    c.FillRectangle(new SolidBrush(Color.FromArgb((d>>24) & 0xff, (d>>16) & 0xff, d&0xff)), new Rectangle(r.X + 2, r.Y + 2, r.Width - 3, r.Height - 3));
                    c.DrawString(x++.ToString(), DefaultFont, Brushes.Black, new Point(r.X,r.Y+r.Height/5));
                }
                c.Dispose();
                Graphics g = CreateGraphics();
                g.DrawImage(b, Point.Empty);
                g.Dispose();
                b.Dispose();
                this.Update();
            }
    
            private void Form1_Resize(object sender, EventArgs e)
            {
                MakeRs();
                DrawRs();
            }
            //格子捕获鼠标位置,弹出获得鼠标的格子,也就是把这个格子画大一圈,效果就出来了
            private void Form1_MouseMove_1(object sender, MouseEventArgs e)
            {
                int x = 0;
                foreach (var r in rs)
                {
                    x++;
                    if (r.Contains(e.Location) && r.Equals(lastrc) == false)
                    {
                        int w = r.Width + 20;
                        int h = r.Height + 20;
                        int X = r.X - 10;
                        int Y = r.Y - 10;
                        int c = cs.Count > 0  ? cs[x] : 0;
                        int R = (c >> 24) & 0xff;
                        int G = (c >> 16) & 0xff;
                        int B = (c >> 0) & 0xff;
                        DrawRs();
                        Pen pen = new Pen(Brushes.Black, 5);
                        Graphics g = CreateGraphics();
                        g.FillRectangle(new SolidBrush(Color.FromArgb(R, G, B)), new Rectangle(X, Y, w, h));
                        g.DrawString(x.ToString(), DefaultFont, Brushes.White, r.Location);
                        g.Dispose();
                        lastrc = r;
                        break;
                    }
                }
            }
    
            private void Form1_Paint(object sender, PaintEventArgs e)
            {
    
            }
        }
    }
    
    

    效果

    在这里插入图片描述

    展开全文
  • 画图是每一个windows系统中都有的程序,虽然这个程序一直没有添加很多新的功能,但是基础功能已经够我们日常使用了。很多图片需要添加文字或是截取大小的时候我们经常会使用画图功能来进行操作。最近有位朋友在利用...

    画图是每一个windows系统中都有的程序,虽然这个程序一直没有添加很多新的功能,但是基础功能已经够我们日常使用了。很多图片需要添加文字或是截取大小的时候我们经常会使用画图功能来进行操作。最近有位朋友在利用该功能修改图片的时候发现导入的图片不能打开了,系统的提示为:画图程序无法读取该文件。无效的位图文件或不支持文件的格式。出现这样的错误提示时我们可以使用下面的这个方法进行修复!

    bcdd3fae076fccabf44fa7289f31c60b.png

    方法步骤:

    1、打开电脑之后使用鼠标双击打开其中的计算机图标,接着进入下图中的界面。大家左上就工具选项中的文件夹选项一栏

    52da8aa89d33dc0cb28e1ac5903aeb38.png

    2、打开之后将最上方的选项卡切换为“查看”选项!

    db0d030ce27c13d152dc4204e2e117da.png

    3、进入查看选项卡之后接着使用鼠标将下方的“隐藏已知文件拓展名”取消勾选,最后点击确定按钮保存设置

    a21885e1f3410d1bf49f06606bbdb38f.png

    4、回到桌面之后再次使用鼠标右键单击需要打开的图片,在打开方式中设置为画图软件

    225f0f1f13689072d4e4feba4b60a3e7.png

    5、若是没有默认设置也可以在打开方式中找到画图之后,勾选下方的 “始终选择用程序打开这种文件”一栏

    6d4f4e53a3086807b418fa84ee247393.png

    6、然后使用管理员的身份来运行电脑中的画图工具

    297d861ee6feba621a8e2da106d17e46.png

    7、进入画图界面之后使用快捷键ctrl+o或文件下的打开按钮来导入图片即可!

    58fd192dd2f2421bde9e75c9535875e4.png

    上面的教程适合解决画图打开图片被提示“无效的位图文件或不支持文件的格式”的问题,若是你在运行的时候也遇到这样的故障,可以试着使用小编的这种方法修复错误提示哦!

    展开全文
  • vc++ 画图的内容保存位图-
  • MFC的程序,可以在画图板上自由绘制,并保存为图片格式导出。 MFC的程序,可以在画图板上自由绘制,并保存为图片格式导出。
  • uCGUI&emWin;位图转换工具exe文件。
  • 设置全屏: activity中requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams....加载位图:Bitmap map = BitmapFactor...

    设置全屏: activity中requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    加载位图:Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.chessboard);

    实例:public class GameActivity extends Activity {

    public class MyView extends View

    {

    public MyView(Context context) {

    super(context);

    }

    protected void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.chessboard);

    int width = canvas.getWidth();

    int height = canvas.getHeight();

    Paint paint = new Paint();

    paint.setColor(Color.RED);

    canvas.drawLine(0, 0, width - 1, height - 1, paint);

    Rect rect1 = new Rect(0, 0, canvas.getWidth(), canvas.getHeight());

    Rect rect2 = new Rect(0, 0, map.getWidth() / 2, map.getHeight() / 2);

    canvas.drawBitmap(map, rect2, rect1, null);

    invalidate();

    }

    }

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    //设置全屏

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    // setContentView(R.layout.activity_game);

    setContentView(new MyView(this));

    }

    展开全文
  • 该程序可以绘制:点,直线,矩形,椭圆,设置线宽,线型,颜色,字体,矩形填充,位图填充
  • 相反,如果目标dc的位图是单色位图,源dc的位图是颜色位图,则在实际光栅操作之前要把颜色位图转换成单色位图,转换规则是,颜色位图中所有和背景色一致的象素都变成1,其他的象素都被转换成0。 以上这些是本人自己...

    SetBkColor

    The SetBkColor function sets the current background color to the specified color value, or to the nearest physical color if the device cannot represent the specified color value.

    COLORREF SetBkColor(

    HDC,// handle to DC

    COLORREF);

    Remarks

    If the background mode is OPAQUE, the background color is used to fill gaps between styled lines, gaps between hatched lines in brushes, and character cells. The background color is also used when converting bitmaps from color to monochrome and vice versa.

    SetTextColor

    The SetTextColor function sets the text color for the specified device context to the specified color.

    COLORREF SetTextColor(

    HDC,// handle to DC

    COLORREF);

    Remarks

    The text color is also used in converting bitmaps from color to monochrome and vice versa.

    在MSDN中,以上两个函数(一个是设置背景色,一个是设置前景色)的Remarks下均有说到设置的颜色,在单色位图转色彩位图中会被用到,反之易然。

    但是没有具体说明具体的转换原理,我也查找了很久,在官方文档上也没搜索到相关的说明,以下是来自网络朋友的总结,感觉总结的很好,特此引用过来。

    当目标dc的位图是颜色位图,源dc的位图是单色的时候,单色位图在实际的光栅操作(ROP)之前会被转换成颜色位图,对应的位如果是0,则被转换目标dc的前景色,如果该位是1,则被转换成目标dc的背景色。相反,如果目标dc的位图是单色位图,源dc的位图是颜色位图,则在实际光栅操作之前要把颜色位图转换成单色位图,转换规则是,颜色位图中所有和背景色一致的象素都变成1,其他的象素都被转换成0。

    以上这些是本人自己的观察,理解和总结,至今还没有查到官方的描述。

    展开全文
  • 一、位图 (1)为什么需要位图? (2)位图如何配置? 可参看: https://www.cnblogs.com/shakinghead/p/11025805.html private Canvas canvas;... private Paint paint;...//先找到需要的画图的imageview
  • WinCE机器的屏一般是支持16位色,个别支持24位色,我实验的机器的参数如下: 平台: 三星2416 CPU: 400MHZ 屏: 16位色 OS: WinCE5.0 画一张480*272的BMP图片有用时如下: 24位色: ...索引位图: ...
  • 位图应当具备的置一,清零,以及判断三大功能:#define BITS_PER_WORD 32#define MASK 0x1f#define SHIFT 5// BITS_PER_WORD 与 MASK、SHIFT 是相匹配的,// 如果 BITS_PER_WORD 为 8,则 SHIFT 为 3,MASK 为 0x07/...
  • 本程序功能与Windows下附件中的画图软件功能相近。本程序是在VC6.0平台上MFC所编,支持多文档和多视图结构,视图为滚动视图,允许分割窗口。绘制方面的功能主要包括绘制各种图元,包括直线、Bezier曲线、矩形、...
  • 位图图像基础

    千次阅读 2015-10-16 16:06:31
    数字图像完全数字来记录图像亮度信息。 二、屏幕分辨率:平时所说的1024*768,屏幕上每行像素为1024个,共768行。颜色表存储每个像素的颜色。24位真彩色位图没有颜色表。 三、计算机常显示的图像:二值图像,...
  • 如何制作单色位图

    2021-11-29 11:32:55
    2、软件:画图 步骤 首先打开windows自带的画图工具,画一个图案(随意发挥); 单击左上角菜单栏"文件"→“另存为”→“BMP图片(B)”选项; 打开选择的图片保存路径,BMP默认保存类型是24位位图; ...
  • ③查看位图→→是全屏显示居中的图片进行预览,观其修改后的状况如何?再次左键点击该图片又恢复到常规尺寸大小。 3、点击【图像】 ①点击【翻转/旋转】是对图片水平翻转、垂直翻转,按一定角度的90度、180度、270...
  • #include #include #include // 获取控制台窗口句柄 微软官方网站的程序 直接拿来了HWND GetConsoleHwnd(void){#define MY_BUFSIZE 1024 // Buffer size for console window titles.HWND hwndFound; // This is ...
  • Windows自带的一个画图工具,您可以它创建简单或者精美的图画。这些图画可以是黑白或彩色的并可以存为位图文件。直接解压使用,免安装。
  • (收藏的同时点个赞呗ヽ(•̀ω•́ )ゝ)库加载我们使用 matplotlib 来进行 python 画图,具体的库加载以及初始设置代码如下所示。import numpy as np # 加载数学库用于函数描述import matplotlibimport matplotl.....
  • 实现了折线,多边形等一系列图形的绘画,支持更改画笔类型和颜色,支持更改画刷类型和颜色以及图案,支持输出字符串以及字符串的更改,支持输出位图动画,支持实时显示鼠标位置,还有动态隐藏工具栏,阅读readme可...
  • Windows98中画图程序的使用教学设计学校黄集镇胡岗小学学科信息技术课时2课时课题Windows98中画图程序的使用(《学信息技术课本》第5册第一课 P1-P11)教师张艳兵(黄集远教3组)年级三年级教学目标:1、学会使用Windows...
  • 一次性掌握所有 Python 画图基础操作

    万次阅读 多人点赞 2019-12-22 16:01:08
    pythonpythonpython 画图介绍 本文以实用为第一目标,...我们使用 matplotlib 来进行 pythonpythonpython 画图,具体的库加载以及初始设置代码如下所示。 import numpy as np # 加载数学库用于函数描述 import matp...
  • c++源代码 实现bmp位图文件的读取与保存 二进制方法读取bmp的像素信息
  • C++位图详解(BitMap)

    万次阅读 多人点赞 2017-11-19 11:26:13
    题目:给40亿个不重复的无符号整数...一个整数是4个字节,40亿个整数就是160亿个字节,也就相当于16G内存,就一般的计算机而言很难实现这个加载,所以我们可以采取以下两种方案,一种是分割,一种是位图。方法:①分割
  • 使用Qt在内存中画图

    2017-11-27 17:03:00
    对于大多数Qt应用,我们在QWidget的paintEvent方法中创建和构造一个QPainter画图,或者在QGLWidget中的paintGL使用OpenGL函数画图,这是最常见的使用方式,并且基本能够满足应用需求。但是这把画图操作限制在了某一...
  • 位图转换G代码小程序

    千次阅读 热门讨论 2019-11-15 09:15:46
    最近实验室要机器人写字画图,但流程都是利用已有的软件去生成g代码,心中不仅冒出个想法,其实可以利用opencv的二值处理和轮廓提取来直接获得轨迹坐标,然后生成g代码。于是python写了程序,但了opencv模块,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,665
精华内容 4,266
关键字:

如何用画图位图