码绘实现艺工结合——简易画板

该博客介绍了创新的简易画板设计,允许用户在画板上直接绘图或在导入的图片上创作。画板提供画笔、橡皮、圆形和方形工具,还支持图片保存、清空和图像处理功能,如黑白处理、灰度转换和高斯模糊。博主分享了核心代码和功能实现的截图,展示了编码与艺术的结合。
摘要由CSDN通过智能技术生成

整个系统的创新点

此简易画板可以直接在画板上绘图,也可以先导入图片,后在图片上进行绘制,比普通的画板更加有趣。

总体方案设计

画板分为两个板块:可以进行绘制的画板和工具栏。
其中工具栏中有四个模块,实现功能:

(1)调整画笔大小和画笔的颜色
(2)绘图工具(包含画笔、橡皮、圆形绘制、方形绘制)
(3)导入图片
(4)画板的操作(图片保存、画板清空、画板上的图片保存)
(5)新添加的功能——图像处理(包含黑白处理、灰色图像、高斯模糊)

三、界面展示
在这里插入图片描述

各个功能实现展示截图

(1)画笔大小、颜色

在这里插入图片描述

(2)绘图工具

在这里插入图片描述

画笔
global PaintFlag Eflag;
global CFlag RFlag;
CFlag = 0;
RFlag = 0;
PaintFlag = 1;
Eflag = 0;
guidata(hObject, handles);
橡皮擦
global PaintFlag Eflag;
global CFlag RFlag;
CFlag = 0;
RFlag = 0;
PaintFlag = 0;
Eflag = 1;
guidata(hObject, handles);
圆形
global PaintFlag Eflag;
global CFlag RFlag;
CFlag = 1;
RFlag = 0;
PaintFlag = 0;
Eflag = 0;
guidata(hObject, handles);
方形
global PaintFlag Eflag;
global CFlag RFlag;
CFlag = 0;
RFlag = 1;
PaintFlag = 0;
Eflag = 0;
guidata(hObject, handles);
(3)导入图片

在这里插入图片描述在这里插入图片描述

[filename pathname] =uigetfile({'*.jpg';'*.bmp';'*.png';'*.*'},'打开图片');
fpath=[pathname filename];  %%将文件名和目录名组合成一个完整的路径
%%打开图像
im=imread(fpath);
hold off;
%%打开axes1的句柄 进行axes1的操作
axes(handles.axes1);
%%在axes1中显示 图像
imshow(im);   %%与上上句可直接写成imshow(imread(fpath));
hold on;
(4)画板操作

在这里插入图片描述在这里插入图片描述在这里插入图片描述

保存
[FileName, PathName, filterindex] = uiputfile({'*.jpg','JPEG(*.jpg)';...
    '*.bmp','Bitmap(*.bmp)';...
    '*.gif','GIF(*.gif)';...
    '*.*',  'All Files (*.*)'},...
    'Save Picture','Untitled');
 
if filterindex
    h = getframe(handles.axes1);
    imwrite(h.cdata,[PathName,FileName]);
end
guidata(hObject, handles);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值