2016-06-23 4 views
1

Ich möchte Azure Computer Vision API verwenden, um Thumbnails für meine Wordpress-Website zu generieren. Ich versuche, es in PHP mit wp_remote_post arbeiten zu lassen, aber ich weiß nicht, wie man die Parameter analysiert? Es gibt ein Thumbnail in wirklich schlechter Qualität und standardmäßig 500x500px zurück. Irgendwelche Ideen zur Lösung dieses Problems?Generieren Sie Thumbnail in PHP, Posting zu Azure Computer Vision API

function get_thumbnail($URL) //* * * * Azure Computer Vision API - v1.0 * * * * 
{ 
$posturl='https://api.projectoxford.ai/vision/v1.0/generateThumbnail'; 

$request = wp_remote_post($posturl, array(
'headers' => array(
    'Content-Type' => 'application/json', 
    'Ocp-Apim-Subscription-Key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'), 
'body' => array('url' => $URL) 
)); 

if (is_wp_error($request)) 
{ 
    $error_message = $request->get_error_message(); 
    return "Something went wrong: $error_message"; 
    } else 
    { 
     return $request['body']; 
    }  
} 

EDIT 1

Dank @Gary der rechten Seite! Jetzt ist das Zuschneiden richtig, aber ich habe ein riesiges Problem mit der Qualität! Ich verwende eine Testversion, aber ich sehe keine Informationen von Azure über das Herabstufen der Daumenqualität für Testbenutzer. Sie behaupten, qualitativ hochwertige Thumbnails zu liefern, aber wenn das der Standard ist, ist es total nutzlos. Ich muss etwas übersehen haben, denke ich?

Natürlich Gary, wenn ich keine richtige Antwort auf meine Frage Qualität bekomme, schließe ich den Thread mit Ihrer Antwort als richtig.

Generated thumbSource picture

+0

, zu kombinieren, haben Sie versuchen, die 'smartCropping' auf false gesetzt. –

Antwort

2

die Beschreibung Get Thumbnail Nach der width, height und smartCropping sollten als Anforderungsparameter eingestellt werden, die in URL kombiniert ist.

Die zweiten Argumente in wp_remote_post() akzeptieren jedoch nicht die URL parameters und werden nichts auf ihnen tun. Sie müssen also die URL zuerst vor dem Festlegen in wp_remote_post() kombinieren.

Sie können versuchen, add_query_arg() zu benutzen, um Ihre URL erste

$posturl='https://api.projectoxford.ai/vision/v1.0/generateThumbnail'; 
$posturl=add_query_arg(array(
    'width' => 600, 
    'height' => 400, 
    'smartCropping' => true 
), $posturl);