ホームページ バックエンド開発 PHPチュートリアル 提示Trying to clone an uncloneable object of class Imagic的解决_php技巧

提示Trying to clone an uncloneable object of class Imagic的解决_php技巧

May 17, 2016 am 09:15 AM
object

使用网上流传的一个程序实现pdf截图为png,需要使用Imagic扩展。在windows下安装完后提示:
Fatal error: Trying to clone an uncloneable object of class Imagick in C:\www\hx\pdf_to_png.php on line 17

使用IIS和Apache均会有这个提示。经多次测试后,发现两种解决方法:

1.php.ini中; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
zend.ze1_compatibility_mode = Off

默认是On,改为Off后,即可解决。

2.使用imagick::...这种方法调用。
即$im->setResolution(120, 120);可以改写为:
imagick::setResolution(120, 120);

如果其它扩展出现这类错误,一般也是可以使用这两种方法解决的。

附pdf转png的程序代码片断:

复制代码 代码如下:

function pdf2png($pdf, $filename, $page=0) {
if (!extension_loaded('imagick')) {
exit('no imagick');
return false;
}
if (!file_exists($pdf)) {
return false;
}
$im = new Imagick();
$im->setResolution(120, 120);
$im->setCompressionQuality(100);
$im->readImage($pdf . "[" . $page . "]");
$im->setImageFormat('png');
$im->writeImage($filename);
$im->readImage($filename);
$im->resizeImage(120, 150, Imagick::FILTER_LANCZOS, 1);
$im->writeImage($filename);
return $filename;
}
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaオブジェクトをバイトに変換する方法、およびバイトをオブジェクトに変換する方法は何ですか? Javaオブジェクトをバイトに変換する方法、およびバイトをオブジェクトに変換する方法は何ですか? Apr 20, 2023 am 11:37 AM

オブジェクトからバイトへ、そしてバイトからオブジェクトへ 今日は、オブジェクトからバイトに変換する方法、およびバイトからオブジェクトに変換する方法を理解します。まず、クラス Student を定義します。 packagecom.byteToObject;importjava.io.Serializable;publicclassstudentimplementsSerializable{privateintsid;privateStringname;publicintgetSid(){returnsid;}publicvoidsetSid(in)

Javaオブジェクトクラスのメソッドの使い方 Javaオブジェクトクラスのメソッドの使い方 Apr 18, 2023 pm 06:13 PM

1. オブジェクト クラスの概要 オブジェクトは、Java によってデフォルトで提供されるクラスです。 Object クラスを除いて、Java のすべてのクラスには継承関係があります。デフォルトでは、Object 親クラスを継承します。つまり、Object のリファレンスを使用して、すべてのクラスのオブジェクトを受け取ることができます。例: Object を使用して、すべてのクラスのオブジェクトを受信します。 classperson{}classStudent{}publicclassTest{publicstaticvoidmain(String[]args){function(newperson());function(newStudent());}public

PHP 注意: 非オブジェクト ソリューションのプロパティを取得しようとしています PHP 注意: 非オブジェクト ソリューションのプロパティを取得しようとしています Jun 24, 2023 pm 09:34 PM

PHP Notice: Tryingtogetpropertyofnon-object の解決策 PHP で開発しているときに、「 Notice: Tryingtogetpropertyofnon-object」というエラー メッセージが表示されることがあります。このエラー メッセージは、通常、初期化されていないオブジェクトを使用しているか、オブジェクトの参照が失われたために発生します。特定のコード部分に問題があり、プロパティに正しくアクセスできません。

Java は、オブジェクト クラスの getClass() 関数を使用して、オブジェクトのランタイム クラスを取得します。 Java は、オブジェクト クラスの getClass() 関数を使用して、オブジェクトのランタイム クラスを取得します。 Jul 24, 2023 am 11:37 AM

Java では、Object クラスの getClass() 関数を使用して、オブジェクトのランタイム クラスを取得します。Java では、各オブジェクトには、オブジェクトのプロパティとメソッドを定義するクラスがあります。 getClass() 関数を使用して、オブジェクトのランタイム クラスを取得できます。 getClass() 関数は Object クラスのメンバー関数であるため、すべての Java オブジェクトがこの関数を呼び出すことができます。この記事では、getClass() 関数の使用方法といくつかのコード例を紹介します。取得を使用する

PHP 注意事項の解決策: 非オブジェクトのプロパティを取得しようとしています PHP 注意事項の解決策: 非オブジェクトのプロパティを取得しようとしています Jun 22, 2023 pm 02:43 PM

PHP Notice の解決策: Tryingtogetpropertyofnon-object PHP でコードを作成する過程で、「Tryingtogetpropertyofnon-object」というエラー メッセージが表示されることがあります。このエラー メッセージは通常、存在しないオブジェクト プロパティにアクセスしようとしてコード内でエラーが発生したために発生します。このエラー メッセージは通常、次の状況で表示されます。 オブジェクトが存在しません。

Javaの基本データ型とオブジェクトの関係は何ですか Javaの基本データ型とオブジェクトの関係は何ですか May 01, 2023 pm 04:04 PM

基本データ型と Object の関係 Object がすべての型の基本クラスであるということは誰もが聞いたことがあると思いますが、Java の基本データ型は Object とは何の関係もないため、この文は実際には正しくありません。たとえば、swap メソッドを呼び出す場合、Object は実際には基本データ型とは何の関係もないため、int 型を swap(Objectobj) メソッドに直接渡すことはできません。このとき、a は型が一致しないことがわかります。自動的にラップされます. Integer 型になっています. この時点で Object に接続でき、swap メソッドを正常に呼び出すことができます. Object、基本データ型のラッパー クラス

Javaオブジェクトクラスの使い方 Javaオブジェクトクラスの使い方 May 13, 2023 pm 05:13 PM

1.equalsメソッド ==演算子 基本型と参照型の両方を判定できる比較演算子 基本型が決まれば値が等しいかどうかを判定 参照型が決まれば値が等しいか判定アドレスが等しいかどうか、つまり、同じオブジェクトであるかどうかを判断します。equals はオブジェクト クラスのメソッドであり、参照型 object-equals のソース コードのみを決定できます。オブジェクト クラスの equals メソッドは、オブジェクトのアドレスが同じかどうか (同じオブジェクトかどうか) を判断するものであることが明確にわかりますが、次のような他のデータ型クラスは、equals メソッドをオーバーライドします。

PHPでオブジェクトを配列に変換する方法 PHPでオブジェクトを配列に変換する方法 Aug 04, 2023 pm 05:26 PM

PHP でオブジェクトを配列に変換する方法: 1. 型変換関数 ((配列)) を使用すると、PHP はオブジェクトのパブリック プロパティをキーとして使用し、プロパティの値を対応する配列値として使用します。リフレクション クラス (ReflectionClass)、リフレクションを通じて、クラスの `getProperties()` メソッドを使用して、オブジェクトのすべてのプロパティを取得できます。次に、`setAccessible(true)` メソッドなどを渡します; 3. json_encode() を使用します。

See all articles