问题描述
我在用Rust的fltk-rs库生成了几个控件,但是我发现圆角的地方锯齿都很严重,跟前端框架ant画的一对比就发现了。
我用的deepin os是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();
}
你期待的结果是什么?实际看到的错误信息又是什么?
如何消除锯齿,达到平滑。