让WordPress支持webp图片尺寸

在主题的image.php中(推荐复制image.php到子主题再做修改),wp_get_attachment_metadata();函数后添加如下代码:

$文件 = wp_get_attachment_url();
$文件流 = fopen($文件, "rb");
$字节数组 = fread($文件流, 30);
fclose($文件流);
$数组 = unpack("C12格式/S9尺寸", $字节数组);
for($i=9;$i<=12;$i++)
{
    $文件格式.=chr($数组['格式'.$i]);
}
if(0==strcmp ( 'WEBP' , $文件格式 )){//判断是否是webp格式图片
$metadata['width'] = $数组[尺寸8];
$metadata['height'] = $数组[尺寸9];
}
通用的Java和PHP代码参见:获取WebP格式图片的长宽

获取WebP格式图片的长宽

通过查看十六进制文件,发现WebP格式图片的长宽信息位于文件头第26、27(高),28、29(宽)这四个字节中。

Java代码:

import java.io.File; import java.io.FileInputStream; /** * @author 42 */ public class WebpSize { public static void main(String[] args) { File 文件=new File("示例.webp"); try { FileInputStream 输入=new FileInputStream(文件); byte[] 字节数组=new byte[30]; 输入.read(字节数组); if("WEBP".equals(new String(字节数组,8,4,"utf-8"))){//先判断图片格式为webp int 宽 = (((int) 字节数组[27] & 0xff) < < 8) | (int) 字节数组[26] & 0xff; int 高 = (((int) 字节数组[29] & 0xff) << 8) | (int) 字节数组[28] & 0xff; System.out.print("宽:"+宽+",高:"+高); }else{ System.out.print("文件不是webp格式"); } 输入.close(); } catch(Exception e) { System.out.println(e.getMessage()); } } }[/code] Continue reading

PrefixDial

做了下小更新:

--下面是v1.0的介绍--

需求:街边充话费,充完说要加拨"818P"才可以,而且所有电话都要加并不只是外地号码。而且加了818后拨出去的号码在通话记录里只显示818,无法重播。

功能:在本软件中拨打电话,自动添加"818,"前缀,并修改通话记录为拨打号码。

两个窗口,主窗口和通讯录窗口。

主窗口上面有个edittext用于输入电话号码。edittext下面有两个按钮,一个用于拨打edittext中的电话号码,一个用于打开通讯录窗口。按钮下面是和listview,放的是最近通话记录。点击条目即可拨号。

通讯录窗口就是一个listview,点击进行拨打电话。

预览图1主界面 预览图2通讯录 预览图3主界面

欢迎试用:
"818,"版下载
12593版下载 12593源码下载