2

我有一个 Windows 应用程序,它显示在信息亭机器上,并且经常连续运行数周。该应用程序是全屏的。作为参考,想象一个屏幕分为 2 个面板,左侧使用约 30%,右侧填充其余部分。左侧面板是完全静态的和信息性的,右侧面板有视频、图像和文本幻灯片旋转、动画等。

毫不奇怪,左侧面板会导致一些“图像残留”(烧屏)问题。我正在寻找有关如何防止图像持久性问题的建议补救措施。我只关心 LCD 而不是 CRT。

看看这个“wiper”风格的解决方案,给它几秒钟你会看到线条擦过。 http://tinyurl.com/lprt6tr

我喜欢这个想法,简单,只需将它覆盖在上面,它可以在任何地方工作。

但是,我的问题是实际上需要多少像素颜色变化才能避免图像持久性?您是否需要确保像素每分钟、10 分钟、每小时至少改变一次颜色?它是否需要在一系列颜色之间旋转?是否需要保持一个状态一段时间?

关于实际防止问题发生的频率和类型的颜色变化的任何见解都是我正在寻找的。

谢谢。

4

1 回答 1

0

虽然我同意 Ken White 的观点,但我想双刮水器,左边有一条白色的轨迹,右边有一条黑色的轨迹,就足够了,因为它会对像素进行硬设置。

至于更新频率,您不需要像在小提琴中那样频繁地设置它。请参阅此小提琴: http: //jsfiddle.net/4w2K3/83/ 请注意,我为清扫器元素添加了一个边框,并稍微更改了代码的工作方式。

var $burnGuard = $('<div>').attr('id','burnGuard').css({
    'background-color':'#000',
    'width':'1px',
    'height':$(document).height()+'px',
    'position':'absolute',
    'top':'0px',
    'left':'0px',
    'border-left':'solid 1px',
    'border-color':'#FFF',
    'display':'none'
}).appendTo('body');

var delay = 10000, scrollDelay = 1000;
function burnGuardAnimate()
{
    $burnGuard.css({
        'left':'0px'
    }).show().animate({
        'left':$(window).width()+'px'
    },scrollDelay,function(){
        $(this).hide();
    });
    setTimeout(burnGuardAnimate,delay);
}
setTimeout(burnGuardAnimate,delay);

由于屏幕基本上是由 3 个一组(红色、绿色和蓝色)组成的一组巨大的彩色灯(简化),根据颜色组成,白色会同时激活所有三个灯,而黑色则根本没有光。因此,将这条强烈对比的线条扫过屏幕会有所帮助。虽然时间更多地取决于您使用的硬件以及屏幕自然变化的频率(广告、用户交互等),但我对硬件部分了解不多,但我会根据 CRT 显示器的个人经验提出建议,每 15 分钟左右运行一次,这还取决于您计划为信息亭保持同一屏幕多长时间。

于 2013-10-22T01:47:19.243 回答