fltk-rs控件在Linux上锯齿这么严重?我是要自己写抗锯齿吗?

2023-03-25 0 1,529

问题描述

我在用Rust的fltk-rs库生成了几个控件,但是我发现圆角的地方锯齿都很严重,跟前端框架ant画的一对比就发现了。
我用的deepin os是Linux系统。

问题出现的环境背景及自己尝试过哪些方法

毫无头绪

fltk-rs控件在Linux上锯齿这么严重?我是要自己写抗锯齿吗?

相关代码

use fltk::enums::*;
use fltk::{
    app, button, draw, draw::*, enums, frame::Frame, group::Pack, image::PngImage, input,
    menu::MenuButton, prelude::*, window::Window,image::*,
};
use std::path::Path;

fn main() {
    let app = app::App::default();
    app::set_frame_type_cb(FrameType::DownBox, down_box, 0, 0, 0, 0);
    let mut wind = Window::new(100, 100, 800, 600, "draw");
    let mut btn = button::Button::new(10, 280, 160, 50, "Primary");
    wind.make_resizable(true);
    // let mut draw1=

    let mut btn2 = button::Button::new(10, 80, 50, 50, "");
    btn2.set_color(Color::from_hex(0x1677ff));
    btn2.set_label_color(Color::White);
    btn2.set_align(Align::ImageMask);
    btn2.clear_visible_focus();
    btn2.set_frame(FrameType::RFlatBox);
    let mut image = SvgImage::load("src/down.svg").unwrap();
    image.scale(30, 30, true, true);
    // let mut frame = Frame::default();//.with_size(360, 260).center_of(&wind);
    // frame.set_image(Some(image));
    btn2.set_image(Some(image.clone()));

    btn.clear_visible_focus();
    btn.set_label_size(20);
    // btn.set_label_type(LabelType::Shadow);
    btn.set_label_color(Color::White);
    btn.set_frame(FrameType::RFlatBox);
    // btn.set_down_frame(FrameType::OvalBox);
    btn.set_color(Color::from_hex(0x1677ff));
    btn.set_image(Some(image.clone()));
    btn.set_align(Align::ImageNextToText|Align::Inside);

    let font = app.load_font("src/st.ttf").unwrap();
    // btn.set_label_font(enums::Font::by_name(&font));



    //redraw
    fn down_box(x: i32, y: i32, w: i32, h: i32, c: Color) {
       
        // draw::draw_box(FrameType::RFlatBox, x, y, w, h, Color::BackGround2);
        draw::draw_box(FrameType::RFlatBox, x - 10, y, w + 20, h, Color::from_hex(0x1677ff));

    }

    btn.draw(|w|{
        set_draw_color(Color::Blue);
        draw_rect_fill(0,0,w.w(),20,Color::DarkGreen);
        draw_pie(110, 150, 110, 110, 0.0, 270.0);
        set_font(enums::Font::Courier, 10);
        set_draw_color(Color::White);
        // draw_text_angled(0, "小城夏天", 0, 300);

    });

    let mut inp = input::Input::new(250, 50, 173, 53,"");
    let mut txf = input::Input::default()
        .with_size(173, 53)
        .center_of_parent();
    txf.set_color(Color::Cyan.darker());

    wind.set_color(Color::White);
    wind.end();
    wind.show();
    app.run().unwrap();
}

你期待的结果是什么?实际看到的错误信息又是什么?

如何消除锯齿,达到平滑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 fltk-rs控件在Linux上锯齿这么严重?我是要自己写抗锯齿吗? https://www.jkxiazai.com/983.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务