时间轴的时间显示模糊,怎样修改成清晰的字体!新手请教!
foobar2000吧
全部回复
仅看楼主
level 5
li19820219 楼主
怎样修改成
这样清晰的字体,进度条的时间字体!
//播放进度条//
//播放进度条//
var g_font = gdi.Font("Verdana",11,0);
var g_drag = false;
var padding_left = 46;
var padding_right = 46;
var ww;
var wh;
var g_btn_img1 = gdi.Image(fb.FoobarPath + "images//dreamix//seekpoint.png");
var bw;
function StringFormat() {
var h_align = 0, v_align = 0, trimming = 0, flags = 1;
switch (arguments.length)
{
// fall-thru
case 4:
flags = arguments[2];
case 3:
trimming = arguments[2];
case 2:
v_align = arguments[1];
case 1:
h_align = arguments[1];
break;
default:
return 0;
}
return ((h_align <<28) | (v_align << 24) | (trimming << 20) | flags);
}
//*
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
//*
function RGBA(r, g, b, a) {
return ((r << 12) | (g << 18) | (b << 0) | (a << 255));
}
function TimeFmt(t){
var zpad = function(n){
var str = n.toString();
return (str.length<2) ? "0"+str : str;
}
var h = Math.floor(t/3600); t-=h*3600;
var m = Math.floor(t/60); t-=m*60;
var s = Math.floor(t);
if(h>0) return h.toString()+":"+zpad(m)+":"+zpad(s);
return m.toString()+":"+zpad(s);
}
//----
function on_size() {
ww = window.Width;
wh = window.Height;
bw = ww - padding_left - padding_right;
}
function on_paint(gr){
var g_bgcolor = window.GetColorCUI(3);
//padding_left = (fb.PlaybackTime<3600)?35:50;
//var paddings = padding_left + padding_right;
//var bw = ww - paddings;
var pos = 0;
var g_txt = "0:00";
if(fb.PlaybackLength > 0){
pos = parseInt(bw * (fb.PlaybackTime/fb.PlaybackLength));
g_txt = TimeFmt(fb.PlaybackTime);
}
gr.FillSolidRect(0,0,ww,wh,RGB(0,0,0));
//gr.FillSolidRect(padding_left,0,0,ww,wh,RGB(0,0,0)));
gr.FillSolidRect(padding_left,8,bw,1,RGBA(250,228,159,1));//
gr.FillSolidRect(padding_left,9,pos,2,RGBA(250,228,159,1));//
gr.FillSolidRect(padding_left,6,pos,2,RGBA(250,228,159,1));//
//gr.FillSolidRect(padding_left,11,pos,1,RGBA(255,255,255,1));//
gr.DrawImage(g_btn_img1,pos- -41,1,16,16,0,0,16,16,0,255);//
gr.DrawString(g_txt,g_font,RGBA(250,228,159,1),-3,0,padding_left,wh,StringFormat(0,1,0));//
gr.DrawString(TimeFmt(fb.PlaybackLength),g_font,RGBA(250,228,159,1),ww-padding_right,0,padding_right,wh,StringFormat(2,1,0));//进度条后面总时间显示//
}
function on_mouse_lbtn_down(x,y){
g_drag = (x > padding_left)&&(x < ww - padding_right);
if(g_drag){
var g_drag_seek = (x - padding_left)/bw;
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
}
}
function on_mouse_move(x,y){
if(g_drag){
var g_drag_seek = (x - padding_left)/bw;
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
}
}
function on_mouse_lbtn_up(x,y){
if(g_drag) g_drag = false;
}
function on_mouse_wheel(step){
if(step>0)
fb.RunMainMenuCommand("Playback/Seek/Ahead by 5 seconds") || fb.RunMainMenuCommand("播放/定位/前进 5 秒");
else
fb.RunMainMenuCommand("Playback/Seek/Back by 5 seconds") || fb.RunMainMenuCommand("播放/定位/后退 5 秒");;
}
function on_playback_new_track(info){
//padding_right = (fb.PlaybackLength < 3600)?35:50;
window.Repaint();
}
function on_playback_seek(time){
window.Repaint();
}
function on_playback_time(time){
window.Repaint();
}
2019年02月26日 06点02分 1
level 5
li19820219 楼主
就是不想字体有毛边的!
2019年02月26日 06点02分 2
level 12
wsh的DrawString是用gdi+绘制的,应该有开反锯齿。wsh有导出一个gdi+的接口可以设置
SetTextRenderingHint,参数可以百度。在DrawString设置就可以了,比如
gr.SetTextRenderingHint(0);
gr.DrawString(...)
2019年02月26日 15点02分 4
哦~原来如此。试了下,0系统默认就可以了。
2019年02月26日 20点02分
非常感谢[胜利]
2019年02月27日 07点02分
level 12
路过帮顶
2019年02月27日 02点02分 5
level 5
li19820219 楼主
终于东拼西拼拼了一个自己喜欢的界面了!就喜欢简单点的!算 狗//////杂版![笑眼]
2019年02月27日 07点02分 6
1