atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
1. 图片按钮的效果总结 1
1.1. 按钮图片自动缩放的。 1
1.2. 不要边框,如果用自定义图片做按钮背景可以设为 false。 2
1.3. 异形按钮 2
1.4. 不绘制焦点 2
1.5. 鼠标经过时的图标 2
1.6. 选中时的图标 2
1.7. 禁用时显示的图标 2
1.8. 可能需要按钮半透明效果 2
2. 图片按钮的实现 2
2.1. 优先模式:button控件模式+backgroud属性 2
2.2. 其次模式2::lable/img控件实现 3
3. 非规则按钮的实现 3
3.1. 穿透颜色属性(推荐,方便) 3
3.2. 透明填空:png图片模式 3
3.3. setMask模式 3
3.4. 重绘button的paint事件(最不推荐,复杂) 3
3.5. Html热点 map模式 3
4. 鼠标越过动态图片切换实现 4
4.1. 优先模式::css模式... 4
4.2. 其次模式2:: 设置属性模式.. 4
4.3. 最后的模式3::写鼠标监听器 4
5. 半透明按钮的实现 4
5.1. 属性法,方便。推荐 4
5.2. 透明图片背景 法 4
5.3. 控件的背景动态座标法 4
5.4. 动态重绘(麻烦 5
6. Java详细按钮属性 5
7. 参考 7
1. 图片按钮的效果总结
1.1. 按钮图片自动缩放的。
中间走稍微图片大的不要ps调整兰,方便...
1.2. 不要边框,如果用自定义图片做按钮背景可以设为 false。
1.3. 异形按钮
透明空白填空如果你的自定义图片不是矩形或存在空白边距,可以设为 false 使按钮看起来透明。
1.4. 不绘制焦点
1.5. 鼠标经过时的图标
1.6. 选中时的图标
1.7. 禁用时显示的图标
1.8. 可能需要按钮半透明效果
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 图片按钮的实现
2.1. 优先模式:button控件模式+backgroud属性
Java的实现,可以使用button模式
2.2. 其次模式2::lable/img控件实现
3. 非规则按钮的实现
3.1. 穿透颜色属性(推荐,方便)
图片中的这个颜色将不渲染。。当然复杂图片不适应
C# 支持这个实现
3.2. 透明填空:png图片模式
java的是png+prop
3.3. setMask模式
C++ qt 可以使用pn、gif图片进行setMask模式. ui->pushButton->setMask(pixmap.mask());
3.4. 重绘button的paint事件(最不推荐,复杂)
但是这个是最终实现,底层。。通用。
3.5. Html热点 map模式
4. 鼠标越过动态图片切换实现
4.1. 优先模式::css模式...
C++ qt可以使用这个模式
4.2. 其次模式2:: 设置属性模式..
Java 不支持css模式,可以使用属性模式。但是设置的属性比较多,可以抽出一个扩展类。。
4.3. 最后的模式3::写鼠标监听器
5. 半透明按钮的实现
5.1. 属性法,方便。推荐
C++ qt setAttribute(Qt::WA_TranslucentBackground, true);
5.2. 透明图片背景 法
5.3. 控件的背景动态座标法
没这个功能。。。只能把控件的背景根
据插件的坐标,设置得和窗口的背景一样
就是如果控件在x1,y1这个点上,则在控件设置背景的时候,把使用到的那张背景图在控件的现实位置也设置为x1,y1的坐标
所谓控件透明,是指控件的背景与窗口的大背景是一样的。
如果控件不移动,则可以取窗口相应位置的背景图来做控件的背景,用 setBackgroudPixmap
如果控件可移动,那就要在移动的时候再重新取窗口相应位置的背景来重新设置控件背景。
原理如此,可以自己实现的
5.4. 动态重绘(麻烦
6. Java详细按钮属性
JButton 实现了普通的三态外加选中、禁用状态,有很多方法可以设置,不要自己去写鼠标监听器。有了这些方法根本不需要自己画按钮或者用鼠标监听器。
setBorderPainted(boolean b) //是否画边框,如果用自定义图片做按钮背景可以设为 false。 setContentAreaFilled(boolean b) //是否填充,如果你的自定义图片不是矩形或存在空白边距,可以设为 false 使按钮看起来透明。 setFocusPainted(boolean b) //是否绘制焦点(例如浅色虚线框或者加粗的边框表明按钮当前有焦点)。
setMargin(Insets m) //改变边距,如果 borderPainted 和 contentAreaFilled 都设成了 false,建议把边距都调为 0:new Insets(0, 0, 0, 0)。 setIcon(Icon defaultIcon) //注意了这是改的默认图标。三态中的默认,即鼠标未在其上的时候。 setPressedIcon(Icon pressedIcon) //按下时的图标。 setRolloverIcon(Icon rolloverIcon) //鼠标经过时的图标。 setRolloverSelectedIcon(Icon rolloverSelectedIcon) //鼠标经过时且被选中状态的图标。 setSelectedIcon(Icon selectedIcon) //选中时的图标。 setDisabledIcon(Icon disabledIcon) //禁用时显示的图标。例如可以换一张灰度图片。 setDisabledSelectedIcon(Icon disabledSelectedIcon) //禁用且被选中状态的图标。 --------------------------------------------按钮多大,去掉边距以后图片就是多大。会自动缩放的。因此如果 margin 都设成 0 的话,按钮多大图片就是多大。有了这些方法根本不需要自己画按钮或者用鼠标监听器。
7. 参考
paip.提升用户体验---c++ QPushButton按钮控件透明以及不规则按钮以及 鼠标越过动态设置 - attilax的专栏 - 博客频道 - CSDN.NET.htm
paip.提升用户体验---控件透明的设置 - attilax的专栏 - 博客频道 - CSDN.NET.htm
atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js相关推荐
- java图片加气泡文字,动态图片加气泡文字 微信动态图片加文字教程
现在微信聊天少不了表情图片,这越有个性.独特的就越受大众喜爱,每每看到好看的图片时,大家也会忍不住收藏起来用.那你有没有想过自己P图呢?学一下PS图片创作一些独一无二的搞笑表情图,放在微信上秀秀吧,也 ...
- vue 动态获取的图片路径不显示_Vue 动态图片加载路径问题和解决方法
最近在做一个树形结构的组件,使用了Vue和element UI中el-tree组件.因为树中每个节点都需要显示一个图标图片,并且需要根据后台传入的数据类型动态地显示,所以图片的路径需要动态地加载.下面 ...
- 图片合成gif_使用在线图片工具处理静态和动态图片的技巧
图片一般分为两种,一种是静态图片,常用的图片格式有jpg,png等.处理静态图片可用用手机自己带的图片处理工具处理,也能够使用线上的在线作图工具来进行操作,比如找图设计,懒设计,稿定设计等设计类型的网 ...
- 怎么压缩过大的GIF图片?三步缩小动态图片
有没有gif压缩大小在线处理的方法呢?可以试试这款gif压缩(https://www.yasuotu.com/gif)工具–压缩图,无需下载任何软件直接压缩gif图片,下面我们一起来来看看gif压缩大 ...
- phpgif图片包_PHP生成GIF动态图片验证码
1 <?php2 /**3 * 调用示例4 **/ 5 session_start();6 $randCode = '';7 //验证码随机 8 $str="abcdefghjkmnp ...
- html5多图合成gif,gif动态图片制作 多张图片合成gif动态图片
单一的静态图片太枯燥,GIF动态图片看起来才有意思有木有!网上各种经典爆笑GIF图片或者闪图,大多数的友友们只会看→复制→外发,难道就没有朋友想要自己制作GIF动态图片吗?如何制作gif动态图片?狸窝 ...
- 如何将MP4视频文件转换成GIF动态图片
在观看电视剧时,剧中常会出现很多搞笑滑稽的镜头,比如把视频MP4转GIF动态图片,那么效果就很好了.虽说现在很多的手机视频播放器都有制作GIF的功能,不过也就10秒钟左右,时间很短,如果使用软件制作G ...
- gif在html里为何会自动停止,CSS或JS实现gif动态图片的停止与播放
一.屋外:寒风吹,雪花飘:屋内:空调吹,代码飘 上午出去买菜,正好下雨了,还夹杂着冰珠子.鄙人大意,穿的是一件帅气但单薄的黄色大衣,立马冻成了中华田园犬.原本计划去钓鱼的,科科,作罢,上午在家看CCT ...
- CSS或JS实现gif动态图片的停止与播放
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5081 一. 对于习 ...
- 如何用电脑快速制作gif动态图片
生活中我们经常使用gif动态图片,各种各样类型的动态图片都有.总而言之,gif动态图片可以展现的生动形象,但是如何制作gif动态图片?下面就来给大家分享制作gif 动图制作的操作方法,就让我们一起制作 ...
最新文章
- java 位运算 多个状态_位运算表示对象所处状态
- Rosetta | Rosetta简介
- 【转】【VC】VC程序运行时间测试函数
- C言语教程第五章:函数(1)
- python序列化和反序列化ppt_老生常谈Python序列化和反序列化
- 安全产品研发与落地的一些方法与思考
- 【控制】粒子群优化(PSO,Particle Swarm Optimization)算法及 Matlab 仿真实现
- XCTF-Reverse:re1
- python打飞机源码_python 飞机大战 游戏源码(pygame入门级)
- [JOYOI1326] 剑人合一
- 报文学习四(LLDP协议)
- pulseaudio如何开通系统日志来debug
- DNS解析域名解析过程
- 如何设置计算机桌面待办事项,电脑上怎么设置重要事情提醒?怎么在电脑桌面便签上设置重要事项提醒...
- cad延伸快捷键_熟练掌握快捷键,提高CAD绘图效率
- (7)centos7 同步服务器时间
- 自下而上和自上而下的注意力模型《Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering》
- 刷程序对车危害_ECU到底能刷吗?刷了后对车有啥影响?
- 漫话:如何给女朋友解释为什么日本时间比中国时间快一个小时
- 雨听 | 网页数据修改