GDK获得各种scale factor

简介: GDK获得各种scale factor

这些factor跟设置中的并无关系,而且都是整数,感觉象是放大镜的作用。


源码

#include <gtk/gtk.h>
#include <gdk/gdk.h>
#define  FIRST_LABEL "first label"
int main(int argc, char *argv[]) 
{ 
  gtk_init(NULL, NULL);
  GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
  GtkWidget *vbox = gtk_vbox_new(TRUE, 10);
  gtk_container_add(GTK_CONTAINER(window), vbox);
  GtkWidget *label_one = gtk_label_new(FIRST_LABEL);
  gtk_container_add(GTK_CONTAINER(vbox), label_one);
  gtk_widget_show_all(window);
  int scale_factor = 0;
  scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (window));
  printf("gtk_widget_get_scale_factor=%d\n", scale_factor);
  GdkDisplay* display = gdk_display_get_default();
  printf("display=0x%08X\n", display);
  GdkScreen* screen = gdk_screen_get_default();
  printf("screen=0x%08X\n", screen);
  scale_factor = gdk_screen_get_monitor_scale_factor(screen, 0);
  printf("gdk_screen_get_monitor_scale_factor=%d\n", scale_factor);
  GdkMonitor* monitor = gdk_display_get_primary_monitor(display);
  printf("monitor=0x%08X\n", monitor);
  scale_factor = gdk_monitor_get_scale_factor(monitor);
  printf("gdk_monitor_get_scale_factor=%d\n", scale_factor);
  gtk_main();
    return 0; 
}

编译

#!/bin/bash
COMPILE_INCLUDE=${COMPILE_INCLUDE}" -I/usr/include/gtk-3.0"
OUTPUT_FILE=test
if [ -f ${OUTPUT_FILE} ]; then
    rm ${OUTPUT_FILE}
fi
echo ${COMPILE_INCLUDE_LINK}
gcc \
    -o ${OUTPUT_FILE} \
    test.c \
    ${COMPILE_INCLUDE} \
    ${COMPILE_LINK} \
    `pkg-config --cflags --libs gtk+-3.0 gtk+-x11-3.0 gdk-3.0 gdk-x11-3.0`
目录
相关文章
|
3月前
|
机器学习/深度学习 监控 安全
confidence_threshold
【9月更文挑战第13天】
139 2
|
4月前
tf.fill()
【8月更文挑战第11天】tf.fill()。
72 2
|
7月前
|
算法 数据可视化 计算机视觉
threshold1
threshold1
64 1
|
7月前
|
算法 光互联 计算机视觉
Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
该文提出了一种新颖的水下图像处理方法,结合颜色转移和局部调整来校正颜色,以应对水下光照和散射造成的图像退化。传统颜色转移方法基于全局参数,不适应水下场景中颜色变化的局部性质。文章中,作者通过融合策略,利用光衰减水平估计来实现局部颜色校正。首先,通过暗通道先验恢复彩色补偿图像,然后估计光衰减图。接着,创建一个合成图像,该图像的统计特性代表高衰减区域,用于颜色转移。最后,通过加权融合初始图像和颜色转移图像,生成最终的颜色校正图像。这种方法旨在提高水下图像的对比度和颜色准确性,特别关注高衰减区域。
89 1
|
7月前
|
计算机视觉
halcon系列基础之Scale_image_range
halcon系列基础之Scale_image_range
358 0
|
算法
LeetCode 363. Max Sum of Rect No Larger Than K
给定一个非空二维矩阵 matrix 和一个整数 k,找到这个矩阵内部不大于 k 的最大矩形和。
103 0
LeetCode 363. Max Sum of Rect No Larger Than K
undefined reference to `gdk_monitor_get_scale_factor/gtk_widget_get_scale_factor‘
undefined reference to `gdk_monitor_get_scale_factor/gtk_widget_get_scale_factor‘
96 0
GDK获得各种scale factor
GDK获得各种scale factor
129 0
|
编解码 iOS开发
meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
596 0
gdk_screen_get_scale_factor已经淘汰,改成gdk_screen_get_monitor_scale_factor
gdk_screen_get_scale_factor已经淘汰,改成gdk_screen_get_monitor_scale_factor
119 0