Un utente ha chiesto 👇
Il plug-in sta interrompendo il fine settimana del WP se installato insieme ad altri plug-in noti con nitidezza delle immagini. Sono stati testati con immagini alterate dalla nitidezza e immagini ridimensionate con la magia dell’immagine.
Durante il tentativo di modificare la mia immagine del profilo (superadmin), in base alla funzione AP, si è verificato il seguente tipo di errore:
PHP Fatal error: Uncaught ImagickException: unable to open image 'avprimg://image_editor/dummy/path.jpg': No such file or directory @ error/blob.c/OpenBlob/2712 in /public/wp-content/plugins/sharpen-resized-images/ajx-sharpen-resized-images.php:65
La sua linea di convinzione dice:
$image->writeImage( $resized_file );
È il loro errore, ma il file const DEFAULT_STREAM = 'avprimg://image_editor/dummy/path';
È tuo, situato in avatar-privacyincludesavatar-privacytoolsimagesclass-editor.php:39
.
Questa è la prima volta che ho problemi con quei plugin taglienti. Si prega di consigliare come giocare a palla AP con quelli.
Grazie.
Autore del plugin
(@pputzer)
1 anno, 9 mesi fa
Questi plugin non sembrano essere compatibili con le copertine dei flussi PHP. L’IS avprimg
è un prefisso programmato per una cartella di flusso in memoria Avatar Privacy personalizzata (eliminando l’accesso al file system durante il ridimensionamento da un avatar).
Lanciatore di thread
(@ alx359)
1 anno, 9 mesi fa
L’IS sharpen-resized-images
il plugin è in realtà piuttosto breve. UN try-catch
alla linea della barriera per evitare l’incidente. Cosa suggeriresti per renderlo compatibile?
add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files',900);
function ajx_sharpen_resized_files( $resized_file ) {
$progressive_jpg = apply_filters('sharpen_resized_progressive_jpg', true);
$size = @getimagesize( $resized_file );
if ( !$size )
return new WP_Error('invalid_image', __('Could not read image size'), $file);
list($orig_w, $orig_h, $orig_type) = $size;
switch ( $orig_type ) {
case IMAGETYPE_JPEG:
switch ( _wp_image_editor_choose() ) {
case "WP_Image_Editor_Imagick":
$image = new Imagick( $resized_file );
$image->unsharpMaskImage(0, 0.5 , 1, 0.05);
$image->setImageCompression(Imagick::COMPRESSION_JPEG);
$image->setImageCompressionQuality(apply_filters( 'jpeg_quality', 90, 'edit_image' ));
//$image->stripImage();
if($progressive_jpg) $image->setInterlaceScheme(Imagick::INTERLACE_PLANE); // Progressive JPEG on
//alx359:try-catch
try {
$image->writeImage( $resized_file ); // Create Image
}
catch (Exception $e) { // can't sharp, so return unsharped
return $resized_file;
}
$image->clear();
$image->destroy();
break;
case "WP_Image_Editor_GD":
default:
$image = imagecreatefromstring( file_get_contents( $resized_file ) );
$matrix = array(
array(apply_filters('sharpen_resized_corner',-1.2), apply_filters('sharpen_resized_side',-1), apply_filters('sharpen_resized_corner',-1.2)),
array(apply_filters('sharpen_resized_side',-1), apply_filters('sharpen_resized_center',20), apply_filters('sharpen_resized_side',-1)),
array(apply_filters('sharpen_resized_corner',-1.2), apply_filters('sharpen_resized_side',-1), apply_filters('sharpen_resized_corner',-1.2)),
);
$divisor = array_sum(array_map('array_sum', $matrix));
$offset = 0;
// Sharpen Image
imageconvolution($image, $matrix, $divisor, $offset);
// Progressive JPEG on
if($progressive_jpg) imageinterlace($image, true);
// Create Image
imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));
// we don't need images in memory anymore
imagedestroy( $image );
}
break;
case IMAGETYPE_PNG:
break;
case IMAGETYPE_GIF:
break;
}
return $resized_file;
}
Autore del plugin
(@pputzer)
1 anno, 9 mesi fa
Bene, dovrebbe fornire alcuni hook – perché questo è un codice piuttosto sgradevole in termini di compatibilità, perché non c’è modo di fare una scelta per il rafforzamento (e l’uso) _wp_image_editor_choose
non è compatibile con molti altri plugin che ne forniscono le proprie sottoclassi WP_Image_Editor
).
Poiché questo non viene aggiornato da 4 anni, consiglierei di cercare un altro plug-in. Per ottenere una soluzione rapida, è necessario utilizzare Imagick::writeImageFile
invece di ::writeImage
. Vedere # 42663 per i dettagli.
Lanciatore di thread
(@ alx359)
1 anno, 9 mesi fa
Questo è stato un suggerimento utile. Grazie!
Invece di:
$image->writeImage( $resized_file );
SEO:
$image->writeImageFile( $resized_file );
e ora non mi cade più l’immaginazione.
Was this helpful?
0 / 0