2

如何在网站上的每个页面刷新时显示新的背景图像(如果有帮助,请使用 Wordpress)?我还想考虑不同的屏幕分辨率,并对此进行适当的处​​理。任何帮助将不胜感激。

4

6 回答 6

1

你在wordpress codex中看到过这个页面吗?

它解释了如何旋转标题图像。根据您的需要调整它应该不会太难。

于 2009-08-04T16:51:39.057 回答
1

只需拥有自己的脚本,每次访问时都会随机返回图片。我有一个我在下面的 URL 用 C 语言编写的,每次都返回不同的图片。

http://www.scale18.com/cgi-bin/gpic

于 2009-08-04T17:03:05.697 回答
0

这就是我使用 Wordpress 随机旋转我网站上的标题图像的方法。

其他人写了代码,我不记得是谁。将下面的php代码放入一个名为rotate.php的文件中,然后将rotate.php放入需要旋转的图片目录(即“headerimages”)中,rotate.php会从中提取。在用于您的 headerimage 的任何 DIV 中,从您的 CSS 样式表中调用 rotate.php。

我不明白您所说的能够处理不同的屏幕分辨率是什么意思。最终用户的屏幕分辨率?

<?php


/*

    Call this way: <img src="http://example.com/rotate.php">


    Set $folder to the full path to the location of your images.
    For example: $folder = '/user/me/example.com/images/';
    If the rotate.php file will be in the same folder as your
    images then you should leave it set to $folder = '.';

*/


    $folder = '.';


    $extList = array();
    $extList['gif'] = 'image/gif';
    $extList['jpg'] = 'image/jpeg';
    $extList['jpeg'] = 'image/jpeg';
    $extList['png'] = 'image/png';


$img = null;

if (substr($folder,-1) != '/') {
    $folder = $folder.'/';
}

if (isset($_GET['img'])) {
    $imageInfo = pathinfo($_GET['img']);
    if (
        isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
    ) {
        $img = $folder.$imageInfo['basename'];
    }
} else {
    $fileList = array();
    $handle = opendir($folder);
    while ( false !== ( $file = readdir($handle) ) ) {
        $file_info = pathinfo($file);
        if (
            isset( $extList[ strtolower( $file_info['extension'] ) ] )
        ) {
            $fileList[] = $file;
        }
    }
    closedir($handle);

    if (count($fileList) > 0) {
        $imageNumber = time() % count($fileList);
        $img = $folder.$fileList[$imageNumber];
    }
}

if ($img!=null) {
    $imageInfo = pathinfo($img);
    $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
    header ($contentType);
    readfile($img);
} else {
    if ( function_exists('imagecreate') ) {
        header ("Content-type: image/png");
        $im = @imagecreate (100, 100)
            or die ("Cannot initialize new GD image stream");
        $background_color = imagecolorallocate ($im, 255, 255, 255);
        $text_color = imagecolorallocate ($im, 0,0,0);
        imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
        imagepng ($im);
        imagedestroy($im);
    }
}

?>
于 2009-08-04T17:42:08.490 回答
0

您可以使用 GD 库实时生成它

于 2009-08-04T16:32:25.010 回答
0

要检测屏幕分辨率,您可以使用客户端 javascript

screen.height
screen.width

要显示不同的图像,您可能可以使用脚本生成一个随机数并显示与之相关的图像......?您可以将“当前”图像存储在会话中,并在每次生成新随机数时检查它是否不会显示最后一个....

于 2009-08-04T16:32:52.857 回答
-1

JavaScript 可能是你最好的选择。

于 2009-08-04T16:30:36.073 回答