gtk中构件添加背景图
在gtk中我们总想要去给构件添加背景图,具体函数代码如下
void chang_background(GtkWidget *widget, int w, int h, const gcha r *path)
12 {
13 gtk_widget_set_app_paintable(widget, TRUE); //允许窗口可> 以绘图
14 gtk_widget_realize(widget);
15
16 /* 更改背景图时,图片会重叠
17 * 这时要手动调用下面的函数,让窗口绘图区域失效,产生窗口重绘
制事件(即 expose 事件)。
18 */
19 gtk_widget_queue_draw(widget);
20
21 GdkPixbuf *src_pixbuf = gdk_pixbuf_new_from_file(path, NULL); // 创建图片资源对象
22 // w, h是指定图片的宽度和高度
23 GdkPixbuf *dst_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, w , h, GDK_INTERP_BILINEAR);
24
25 GdkPixmap *pixmap = NULL;
26
27 /* 创建pixmap图像;
28 * NULL:不需要蒙版;
29 * 123: 0~255,透明到不透明
30 */
31 gdk_pixbuf_render_pixmap_and_mask(dst_pixbuf, &pixmap, NULL, 128);
32 // 通过pixmap给widget设置一张背景图,最后一个参数必须为: FASL E
33 gdk_window_set_back_pixmap(widget->window, pixmap, FALSE);
34
35 // 释放资源
36 g_object_unref(src_pixbuf);
37 g_object_unref(dst_pixbuf);
38 g_object_unref(pixmap);
39 }
在主函数中调用该函数就行,也可以自己写一个头文件
原文链接: https://blog.csdn.net/tennysonsky/article/details/43154601
gtk中构件添加背景图的更多相关文章
- angular4模块中标签添加背景图
一.现象 一个全屏的“走马灯”每项需要添加背景图,在循环标签里需要动态添加行内样式 二.解决 1.首先有一个图片数组,如: export class AppComponent { array = [& ...
- 6-Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法
Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法 比如用stylesheet给widget加背景图,可以用qt designer修改ui文件 ...
- 给textarea添加背景图
给textarea添加背景图用的好也很有意思哦. <style type="text/css"> textarea{ background: url(img/carto ...
- QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)
QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg ...
- 页面中图片以背景图形式展示好还是以img标签形式展示
img和background-image的异同: img是网页结构层面上的标签,页面中多一个img标签就会多一次http请求,且当我们浏览页面时,img标签作为网页结构的一部分,会在浏览器加载结构的过 ...
- winform 添加背景图 闪屏问题解决
winform中只要添加了背景图片资源,窗体加载显示的时候就会出现不停的闪屏操作,网上找了很多方法,效果都不明显: 然后自己观察和思路:看窗体的加载过程,当有背景图的时候,首先出来的是背景图,之后背景 ...
- PS 抠图和添加背景图
1.打开需要抠的图--然后使用套索类工具,魔棒类工具,钢笔类工具均可选择需要扣的图片范围任何在Delete(如果抠反了可以进行反选Ctrl +shift+I) 2.然后把任一一张背景图直接拖到PS里面 ...
- WinForm界面设计-Button添加背景图去边框
转自:https://www.cnblogs.com/tommy-huang/p/4283538.html 1.既然是添加背景图片 所以这里应该使用 Button.BackgroudImage = & ...
- Vue-cli 构建项目 的`.vue`组件中, scss中添加背景图路径问题
[解决方法]: 更改build/utils.js文件中的 ExtractTextPlugin 的 options配置. if (options.extract) { return ExtractTex ...
随机推荐
- MATLAB中将mat文件转为txt格式文件
直接保存为txt文件: 可以用fprintf函数,来代替save函数 比如现在我有一个变量a=[0.1223 345.4544] 如果我想保存它的话,可以用下面的程序: fid = fopen(' ...
- js & anti craw & crawler spam
js & anti craw & crawler spam demo & X-Sign , function(t, e, n) { "use strict" ...
- Android Studio & zh-Hans
Android Studio & zh-Hans https://developer.android.com/studio?hl=zh-cn https://developer.android ...
- array auto slice
array auto slice https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Ar ...
- PAUL ADAMS ARCHITECT LTD:拜登上台后,美国房地产走势如何?
受全球经济危机影响,美国经济的复苏之路并不平坦,然而住宅房地产市场却是少数的例外,表现得非常亮眼.而随着美国拜登总统上台的临近,美国房产市场还会持续当前的发展吗?对于这个问题,近日,美国知名房地产公司 ...
- C++算法代码——统计数字
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1109 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000( ...
- Mysql的join算法
本文转载自Mysql的join算法 导语 在Mysql中,使用Nested-Loop Join的算法思想去优化join,Nested-Loop Join翻译成中文则是"嵌套循环连接" ...
- ArrayList的简单实现
class AList<E>{ //属性:数组和实际元素个数 private Object[] data; private int size; //构造函数:有参.无参 public AL ...
- node应用层中间件使用
var express = require("express") var path = require("path") var app = express() ...
- springboot对数据库密码加密
第一步:maven引jar包 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifa ...