不用MFC,只能用SDK,API来实现类似windows里的小画板的程序,想问下:在文件打开以及保存的时候要支持位图的模式,“位图存储”与“矢量存储”有什么区别?API那些绘图函数画出来的是算矢量图还是位图啊?我的对保存文件的做法是在文件中存储各个图形的左上角以及右下角的坐标,在load的时候按这些坐标重新画窗口,不知这算什么存储方式啊?谢谢

解决方案 »

  1.   

    位图存储的是(x,y)坐标处的点的颜色是color.  读取的时候只要将(x,y)处的点的颜色设置为color:SetPixel(x,y,color)就好了。
    矢量图存储的是,从(x1,y)到(x2,y2)之间有一条宽度为2,颜色为color的直线;读取的时候只要把这条直线再画出来:line(x1,y1,x2,y2,2,color);如果把用Windows自带的API绘制的图片存入文件的话,就是位图;
    如果把绘制的操作步骤存入文件的话,就是矢量图^^
      

  2.   

    位图存储就是存点的颜色,不管是BMP还是JPG都是基于这一点的,它的缺点是放大或是缩小后,图形会失真。
    矢量存储就是存描述图形的方程,一般SDK提供的函数好像都是位图。楼主自己的方式应该算是矢量图吧。