Php-Javascript-我如何知道哪些页面是彩色的,哪些是黑白的


Php - Javascript - How do I know which pages are in color and which are in black and white?

此脚本将PDF拆分为单个页面并保存。如果我点击一张图片,它会改变css类,变成黑白。

现在我的问题是了解哪些页面和多少页面是彩色的

理解它的最佳方法是什么?tk

<?php
$pdf='aaa.pdf';
$image = new Imagick();
$image->pingImage($pdf);
$x = $image->getNumberImages();
echo "
<!DOCTYPE html>
<html>
<head>
</head>
<script>
function change_autorefreshdiv(id){
    var NAME = document.getElementById(id)
    var currentClass = NAME.className;
    if(currentClass == 'bn'){
        NAME.className = 'colore';
    } else {
        NAME.className = 'bn';
    }
} 
</script>
<style type='text/css'>
.bn{
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      -ms-filter: grayscale(100%);
      -o-filter: grayscale(100%);
      filter: grayscale(100%);
}
body {
      background: #000; 
    }
img {padding:5px;}
</style>
<body>";
for ($i=0; $i <= $x; ++$i){
	$im = new Imagick();
	$im->setResolution(20, 20);
	$im->readImage(''.$pdf.'['.$i.']');
	$im->setImageFormat('jpeg');
	$im->setImageCompression(imagick::COMPRESSION_JPEG); 
	$im->setImageCompressionQuality(100);
	$jpegpath = 'jpeg/'.$pdf.'['.$i.'].jpeg';
	$im->writeImage($jpegpath);
	echo "
    <img  width='170px' height='220px' 
    src='$jpegpath' id='$i' class='colore' 
    onclick='change_autorefreshdiv($i)'></img>";
}
echo "
  </body>";
浏览器中的img脚本

PHP在服务器上运行,将结果(其输出)发送到浏览器,然后停止运行,就完成了
浏览器接收输出,然后呈现HTML并运行javascript。PHP代码在这一点上已经退出了游戏。

为了让PHP(实际上是服务器)知道浏览器必须告诉它的是哪个,请将这些事实发送回服务器
这可以通过表单提交或ajax帖子来完成;ajax可以在最后通知服务器一次,也可以在选择(单击)和取消选择每个"页面"时连续通知服务器。

无论是表单提交还是ajax,这都可能是一个POST到您的服务器,例如http://yourserver.com/yourapplication/process_selections.php,或者可以使用最初发送它的相同.php文件
需要理解的重要一点是,这与您在问题中发布的PHP代码完全不同代码已完成运行。即使您发布回同一个PHP文件,这也是一个新调用,因此您之前设置的变量都不在那里。

您必须决定将信息发送回服务器的策略,一旦有了这些策略,您可能会有更多的问题——稍后将这些问题作为特定问题进行提问;这个主题太宽泛了,无法在这个问题的答案中涵盖。


提示:在浏览器中,您可能希望使用javascript来选择具有.bn和/或.colore类的所有项目,并将有关这些项目的信息发送回服务器。