一个简单的简单问题,但我找不到PHP网站上的文档.
我正在使用ImageMagick,我将像素导出为CHAR
$pixels = $im->exportImagePixels(0, 0, $im->getImageGeometry()['width'], $im->getImageGeometry()['height'], "RGB", Imagick::PIXEL_CHAR);
Run Code Online (Sandbox Code Playgroud)
我需要定义新的像素,我希望它们是CHAR类型.当我在sigle像素上使用var_dump时,PHP将它们识别为整数.现在我看到php没有CHAR数据类型,所以我想定义一个两字节无符号整数,如下所示:
我的像素定义为$ pixel = 134; 范围从0到255
我想像这样定义相应的char:
0xFF & $pixel
Run Code Online (Sandbox Code Playgroud)
它不起作用.
任何人都知道为什么?或者我该怎么办?我试图使用PIXEL_FLOAT数据类型,但它真的很重,它会在更大的图片上崩溃我的脚本.
谢谢任何人.
我有这个简单的函数从mapquest获取gis数据:
function reverseGeocoding(lat,lng){
var url = 'http://open.mapquestapi.com/nominatim/v1/reverse?format=json&lat=' + lat + '&lon=' +lng+' &zoom=18&addressdetails=1';
$.ajax({
url: url,
crossDomain:true,
success: function(response){
$("#revgeo-place").html(response.display_name);
}
});
}
Run Code Online (Sandbox Code Playgroud)
如何改进它,以便从另一个函数调用此函数时,返回值是异步更新的?
我不想在函数中明确地放置任何DOM引用,并且我想保持ajax异步,理想情况下应该是这样的:
$("#revgeo-place").html(reverseGeocoding(lat,lng).display_name);
function reverseGeocoding(lat,lng){
var url = 'http://open.mapquestapi.com/nominatim/v1/reverse?format=json&lat=' + lat + '&lon=' +lng+' &zoom=18&addressdetails=1';
$.ajax({
url: url,
crossDomain:true,
success: function(response){
console.log(response);
return response;
}
});
}
Run Code Online (Sandbox Code Playgroud)
它看起来当我这样做时,DOM对象不会更新,然后该函数返回响应.
任何想法都会有所帮助谢谢!
ajax ×1
callback ×1
imagemagick ×1
int ×1
integer ×1
javascript ×1
jquery ×1
php ×1
return ×1
types ×1