提示Trying to clone an uncloneable object of class Imagic的解决_php技巧
使用网上流传的一个程序实现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;
}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

オブジェクトはすべての Java クラスの基本クラスであり、クラス継承構造全体の最上位であり、最も抽象的なクラスです。誰もが毎日、toString()、equals()、hashCode()、wait()、notify()、getClass() などのメソッドを使用していますが、おそらくそれらが Object のメソッドであることを認識しておらず、見向きもしません。 Object には他にどのようなメソッドがあるのか、そしてなぜこれらのメソッドを Object に配置する必要があるのかを考えてみましょう。 1. JavaObject クラスの概要 - すべてのクラスのスーパー クラス Object は Java クラス ライブラリの特別なクラスであり、すべてのクラスの親クラスでもあります。言い換えれば、Java では、任意のタイプのオブジェクトを Object タイプに割り当てることができます。

Redis の 2 層データ構造の紹介。Redis のパフォーマンスが高い理由の 1 つは、その各データ構造が特別に設計され、1 つ以上のデータ構造によってサポートされていることです。これらの柔軟なデータ構造は、読み取りを向上させるために利用されています。パフォーマンス フェッチおよび書き込みパフォーマンス。 Redis のデータ構造を理解したい場合は、2 つの異なるレベルから議論できます: 最初のレベルはユーザーの観点からのものであり、このレベルは Redis が外部に公開する呼び出しインターフェイスでもあります (文字列、リスト、ハッシュ、セット、ソートセット。 2 番目のレベルは内部実装の観点からのもので、dict、sds、ziplist、quicklist、skiplis などの下位レベルの実装に属します。

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