В том то и дело, что выведет, но сдвинет картинку по оси Y если она не квадратная.kgena_ua:высоту выводимого изображения поставил с запасом (10000) - выведет с правильными пропорциями.
Или я не прав?
Список разделов › foobar2000 › Есть вопрос!
В том то и дело, что выведет, но сдвинет картинку по оси Y если она не квадратная.kgena_ua:высоту выводимого изображения поставил с запасом (10000) - выведет с правильными пропорциями.
А ты что не пробуешь то, что тебе предлагают, а только споришь?)megane68:Или я не прав?
// Получение нужной ширины картинки. Равна ширине ELPlaylist:
$set_ps_global(do.pic.widht.1,$sub(%ps_width%,290))
// Рисуем
$imageabs_rc($get(do.pic.widht.1),10000,0,0,$get(do.pic.widht.1),10000,290,0,%path%,artreader,,80)
$imageabs_rc(%do.pic.widht.1%,10000,0,0,%do.pic.widht.1%,10000,290,0,%path%,artreader_artist,,50)Если я правильно понял, то у меня в сборке почти так и сделано, я еще и по высоте тоже центрируюmegane68:• Картинка должна иметь координату по Y всегда равной 0, а по Х всегда равняться по центру панели.
• Картинка должна выводится по большей стороне панели. Если больше ширина панели %ps_width%, то по ширине, если больше высота панели %ps_height%, то по высоте.
• При сохранении аспекта картинки, она должна выходить за пределы меньшей стороны панели.

// Получение нужной ширины картинки. Равна ширине ELPlaylist:
$set_ps_global(do.pic.widht.1,$sub(%ps_width%,290))
// Рисуем
$ifgreater(%do.pic.widht.1%,%ps_height%,
$imageabs_rc(%do.pic.widht.1%,%do.pic.widht.1%,0,0,%do.pic.widht.1%,%ps_height%,290,0,%path%,artreader_artist,,50),
$imageabs_rc(%ps_height%,%ps_height%,$div($sub(%ps_height%,%do.pic.widht.1%),2),0,%do.pic.widht.1%,%ps_height%,290,0,%path%,artreader_artist,,50)
)
, посмотри может чего посоветуешь.
// Digital Clock
// LatroX 1.2 by eXtremeHunter1972
// @author "jscript by Hunter >> http://extremehunter1972.deviantart.com/art/LatroX-1-2-151924059
// WSH Panel Mod component by Tianpeng Wang
// Modifed AHAPXICT and kgena_ua for DarkOne v3.1 by tedGo
//####################################################################
// Choose your language here.
// ENGLISH = 1
// ESTONIAN = 2
// GERMAN = 3
// FRENCH = 4
// FINNISH = 5
// RUSSIAN = 6
// UKRAINIAN = 7
//////var language = window.GetProperty("Language", 1);
//####################################################################
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
function RGBA(r, g, b, a) { return ((a << 24) | (r << 16) | (g << 8) | (b)); }
MF_SEPARATOR = 0x00000800;
MF_STRING = 0x00000000;
var g_titlefmt = fb.TitleFormat("%playback_time%[/%length%][/%playback_time_remaining%]");
var g_titlefmt1 = fb.TitleFormat("Count: %play_count%");
var g_titlefmt2 = fb.TitleFormat("$if(%__hdcd%,HDCD ,)[Gain: %replaygain_track_gain%]");
var DT_CENTER = 0x00000001;
var g_font = gdi.Font("DarkOne", 19, 0); // Length
var g_font1 = gdi.Font("DarkOne", 76, 0); //Time
var g_font2 = gdi.Font("DarkOne", 19, 0); // Day
var g_font3 = gdi.Font("DarkOne", 19, 0); // Date
var g_font4 = gdi.Font("DarkOne", 19, 0); // Month
var currentTime = new Date();
var clock_time = window.SetInterval(on_timer, 1000);
var language, days = [], months = [];
get_language();
function get_language() {
language = window.GetProperty("Language", 1);
if(language == 1){
days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
}
if(language == 2){
days = new Array("Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev");
months = new Array("Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember");
}
if(language == 3){
days = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
months = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
}
if(language == 4){
days = new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
months = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
}
if(language == 5){
days = new Array("Sunnuntai", "Maanantai", "Tiistai", "Keskiviiko", "Torstai", "Perjantai", "Lauantai");
months = new Array("Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Süüskuu", "Lokakuu", "Marraskuu", "Joulukuu");
}
if(language == 6){
days = new Array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота");
months = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
}
if(language == 7){
days = new Array("Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П’ятниця", "Субота");
months = new Array("Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень");
}
}
function on_paint(gr){
if (window.GetProperty("Color") == 1) var font_rgb = RGB(191,228,255), block_rgb = RGB(133,159,178); //Default
if (window.GetProperty("Color") == 2) var font_rgb = RGB(128,192,255), block_rgb = RGB(91,136,178); //Blue
if (window.GetProperty("Color") == 3) var font_rgb = RGB(0,255,0), block_rgb = RGB(0,178,0); //Green
if (window.GetProperty("Color") == 4) var font_rgb = RGB(255,0,0), block_rgb = RGB(255,0,0); //Red
if (window.GetProperty("Color") == 5) var font_rgb = RGB(255,255,255), block_rgb = RGB(178,178,178); //White
if (window.GetProperty("Color") == 6) var font_rgb = RGB(255,255,0), block_rgb = RGB(178,178,0); //Yellow
gr.SetTextRenderingHint(5);
String.prototype.repeat = function(n) {
return new Array(n + 1).join(this);
}
var currentHours = currentTime.getHours ( );
var currentMinutes = currentTime.getMinutes ( );
var currentSeconds = currentTime.getSeconds ( );
var currentDay = currentTime.getDay ( );
var currentDate = currentTime.getDate ( );
var currentMonth = currentTime.getMonth ( );
var currentYear = currentTime.getYear ( );
var ww = window.Width;
var length = fb.PlaybackLength;
var txt;
var txt1;
var txt2;
var y = 5;
var x = 0;
if(currentHours < 10){x = 4;}
if(length > 0){txt = g_titlefmt.Eval();}
if(length > 0){txt1 = g_titlefmt1.Eval();}
if(length > 0){txt2 = g_titlefmt2.Eval();}
currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
//========BLOCKS========
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 12-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font2, block_rgb, -232, 26-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 40-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, -232, 54-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(3), g_font1, block_rgb, 1, 1-y, ww, 86, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 12-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font2, block_rgb, 232, 26-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 40-y, ww, 24, DT_CENTER);
gr.GdiDrawText( "\u2589".repeat(9), g_font4, block_rgb, 232, 54-y, ww, 24, DT_CENTER);
// ========GRADIENT======== //
var alpha = 235;
if (window.GetProperty("Matrix") == 7) var alpha = 235;
if (window.GetProperty("Matrix") == 8) var alpha = 255;
gr.FillGradRect(0, -4, ww, 84, 90, RGBA(80,100,114,alpha), RGBA(19,30,38,alpha));
// ========TEXT======== //
gr.GdiDrawText( "|" , g_font3, font_rgb, 144, 18-y, ww, 40, DT_CENTER);
gr.GdiDrawText( "|" , g_font3, font_rgb, 144, 26-y, ww, 40, DT_CENTER);
gr.GdiDrawText( "|" , g_font3, font_rgb, 176, 18-y, ww, 40, DT_CENTER);
gr.GdiDrawText( "|" , g_font3, font_rgb, 176, 26-y, ww, 40, DT_CENTER);
gr.GdiDrawText( "___" , g_font3, font_rgb, 160, 2-y, ww, 40, DT_CENTER);
gr.GdiDrawText( "___" , g_font3, font_rgb, 160, 30-y, ww, 40, DT_CENTER);
gr.GdiDrawText(txt, g_font, font_rgb, -232, 12-y, ww, 24, DT_CENTER);
gr.GdiDrawText(txt1, g_font, font_rgb, -232, 32-y, ww, 24, DT_CENTER);
gr.GdiDrawText(txt2, g_font, font_rgb, -232, 51-y, ww, 24, DT_CENTER);
gr.GdiDrawText( currentHours + ":" + currentMinutes + ":" + currentSeconds, g_font1, font_rgb, -3+x, 1-y, ww, 86, DT_CENTER);
gr.GdiDrawText( days[currentDay] , g_font2, font_rgb, 259, 20-y, ww, 24, DT_CENTER);
gr.GdiDrawText( currentDate , g_font3, font_rgb, 159, 22-y, ww, 24, DT_CENTER);
gr.GdiDrawText( months[currentMonth] + " " , g_font4, font_rgb, 265, 48-y, ww, 24, DT_CENTER);
gr.GdiDrawText(currentYear, g_font3, font_rgb, 159, 49-y, ww, 24, DT_CENTER);
}
// ========Seek time======== //
function on_mouse_wheel(step) {
fb.PlaybackTime += step;
}
function on_playback_seek(time) {
window.Repaint();
}
// ========Menu======== //
function on_mouse_lbtn_up(x, y) {
var _menu = window.CreatePopupMenu();
_menu.AppendMenuItem(MF_STRING, 1, "English");
_menu.AppendMenuItem(MF_STRING, 2, "Estonian");
_menu.AppendMenuItem(MF_STRING, 3, "German");
_menu.AppendMenuItem(MF_STRING, 4, "French");
_menu.AppendMenuItem(MF_STRING, 5, "Finnish");
_menu.AppendMenuItem(MF_STRING, 6, "Russian")
_menu.AppendMenuItem(MF_STRING, 7, "Ukrainian")
_menu.CheckMenuRadioItem(1, 7, window.GetProperty("Language", 1));
idx = _menu.TrackPopupMenu(x, y);
switch (idx) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
window.SetProperty("Language", idx);
get_language();
window.Repaint();
break;
}
_menu.Dispose();
return true
}
function on_mouse_rbtn_up(x, y) {
var _menu = window.CreatePopupMenu();
_menu.AppendMenuItem(MF_STRING, 1, "Default");
_menu.AppendMenuItem(MF_STRING, 2, "Blue");
_menu.AppendMenuItem(MF_STRING, 3, "Green");
_menu.AppendMenuItem(MF_STRING, 4, "Red");
_menu.AppendMenuItem(MF_STRING, 5, "White");
_menu.AppendMenuItem(MF_STRING, 6, "Yellow")
_menu.CheckMenuRadioItem(1, 6, window.GetProperty("Color", 1));
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0)
_menu.AppendMenuItem(MF_STRING, 7, "Matrix ON")
_menu.AppendMenuItem(MF_STRING, 8, "Matrix OFF")
_menu.CheckMenuRadioItem(7, 8, window.GetProperty("Matrix", 7));
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0)
_menu.AppendMenuItem(MF_STRING, 9, "Properties...");
_menu.AppendMenuItem(MF_STRING, 10, "Configure...");
idx = _menu.TrackPopupMenu(x, y);
switch (idx) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
window.SetProperty("Color", idx);
window.Repaint();
break;
case 7:
case 8:
window.SetProperty("Matrix", idx);
window.Repaint();
break;
case 9:
window.ShowProperties();
break;
case 10:
window.ShowConfigure();
break;
}
_menu.Dispose();
return true
}
function on_timer(id){
currentTime = new Date();
window.Repaint();
}
//EOFMC Web, наверное это правильно, только нужно знать какMC Web:создать список скриптов со ссылками на сообщение содержащее соответствующий скрипт
.Обратиться к администрации, предоставив соответствующую "заготовку" со ссылками, думаю проблем не будет.kgena_ua:наверное это правильно, только нужно знать как
Совершенно верно, я так же делаю.kgena_ua:по поводу дополнительных шрифтов (tedGo's DarkOne_NEW MATRIX 140x140x75.ttf).
Необходимо создать в корне Фубара папку fonts.
Установить foo_ui_hacks. При первом запуске после установки foo_ui_hacks, Tools - UI Hacks - Portability. Фубар перезапустится и инициализируется Font autoloading.
Уже как год в моей модификации так всё и стоит, да ещё все картинки к виртуальному диску "В" привязаны)))) Это чистая сборка на которой .fcl собираю, для людей у которых, например, оригинальный DarkOne v3.1 стоит. Честно говоря не додумался для удобства использования поставить UI Hacks, даже не ожидал что так быстро можно дела порешать! скрипт изначально был отсюда. Эту ссылку на страницу автора в шапке скрипта поместил. Но как ты понял нечего без kgena_ua, я бы не написал, почти всё в моей модификации его руками сделано!Почти на всех скриптах у меня стоит его имя))) А вот шрифт только название своё оставил(для совместимости) и авторские права, полная конверсия, за исключением с "Ё дересисами" не заморачивался. По поводу твоего совета размещения скриптов - поддерживаю. Скрипты это как горячие пирожки, просто на расхват! Во чего недавно нашёл, зашёл ночью к соседу кофеину хлебануть ну и заодно ему свою сборку обновить, так по запросу во чего гугль выдал. Меня так в клочья и порвало))))MC Web:Этот скрипт сам писал или выдернул откуда?
Мне даже как то не ловко перед вами, что каждый раз какими то просьбами озадачиваю.