我想知道是否不可能给ImageMagick提示输入字符串(或文件)的类型。
电子。 G。将.sql
视为文本文件。
我需要它在php(Imagick)中使用。
我唯一得到的是文件格式未知的例外:
no decode delegate for this image format `' @ error/blob.c/BlobToImage/361
答案 0 :(得分:1)
您可以告诉 ImageMagick 文件包含如下文字:
convert TEXT:stuff.sql result.png
将为您提供文本文件stuff.sql
的内容的图像。
因此,如果您想要目录列表的图像,可以执行以下操作:
ls -l | convert TEXT:- listing.png
或者,如果文件commands.sql
中有一些SQL:
convert -background yellow -fill magenta text:commands.sql -trim result.png
或者,如果您希望它居中并具有更大的边框:
convert -background yellow -fill magenta text:commands.sql -trim \
-gravity center -extent 120%x120% result.png
答案 1 :(得分:1)
正如@MarkSetchell所提到的,你可以通过为它添加前缀来告诉ImageMagick(自定义)文件类型。
TXT:/path/to/file.sql
例如
identify -list format
$im = new Imagick("txt:/path/to/file.sql");
应该为您提供linux上支持的格式列表$im->readImageBlob(...)
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while (phones.moveToNext()) {
String name = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phone = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String id = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));
String image_uri = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_URI));
mContactArrayList.add(new Contact(id, name, phone, image_uri));
}
)