为Wand编写命令行参数

时间:2016-05-12 16:41:22

标签: python imagemagick wand

我想知道如何使用Wand库将ImageMagick的这个工作命令行序列转换为Python脚本:

convert me.jpg -fill none -fuzz 1% -draw 'matte 0,0 floodfill' -flop  -draw 'matte 0,0 floodfill' -flop me.png

它基本上允许我从具有一定容差(即模糊)的前景图像中减去已知的背景图像。我想用平面颜色填充结果区域。

我想在内存和我的Python脚本中完成所有这些操作,以避免将解码后的RAW图像数据重新压缩为jpeg两次。通过命令行执行此操作会强制执行额外的压缩步骤,在脚本中执行此操作只需要一次jpeg保存。

对此的一些帮助将非常感激。

编辑:更正,与我尝试过的其他事情混淆了。上述命令不会从已知图像中减去。这实际上是左上角像素和洪水填充,有1%模糊。当你看到只有一个输入图像时,显然很明显。仍然知道如何将上述内容转换为Python仍然有用。

1 个答案:

答案 0 :(得分:1)

你可以尝试这样的事情。

 <?php
include("_includes/PHPMailer/class.phpmailer.php");

if(file_exists('/tmp/resume.pdf')){
    unlink('/tmp/resume.pdf');
}
if(isset($_POST['passed'])){
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $comment = $_POST['comment'];

    #validate File
    $File = $_FILES['resume']['tmp_name'];
    move_uploaded_file($File, "/tmp/resume.pdf");

    $to_name = "Spartan X Customer Support";
    $subject = "Website User, " . $name . ", Submitted a Resume";
    $message = "Name: " . $name . "\n E-mail: " . $email . "\n Phone Number: ". $phone . "\n Comment: " . $comment;
    $from = "Spartan X Website User";
    $to = "cfez@dm.marketing";  
    $mail = new PHPMailer(); 
    $mail->FromName = $from;
    $mail->From = "user@spartanx.com";
    $mail->AddAttachment("/tmp/resume.pdf");
    $mail->AddAddress($to, "Spartan X");
    $mail->Subject = $subject;
    $mail->Body = $message;

    if(!$mail->Send()) {
        $error = "Mailer Error: " . $mail->ErrorInfo;
        }else{ $success = "Message sent!";
    }
}else{header( 'Location: /index.html' ) ;}
?>

对于from wand.color import Color from wand.drawing import Drawing from wand.image import Image with Image(filename='me.jpg') as img: with Drawing() as ctx: # -fill none ctx.fill_color = Color('transparent') # -draw 'matte 0,0 floodfill' ctx.matte(x=0, y=0, paint_method='floodfill') ctx(img) # -flop img.flop() ctx(img) img.flop() img.save(filename='me.png') ,您需要做一些额外的工作来计算量子值。

-fuzz 1%