我想为iOS实现图像缩小算法。在阅读了核心图像 /**
* Implements hook_block_info().
*/
function custom_block_block_info() {
$blocks = array();
$blocks['my_block'] = array(
'info' => t('My Custom Block'),
'status' => TRUE,
'region' => 'Content',
'visibility' => BLOCK_VISIBILITY_LISTED,
'pages' => 'user/*',
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
function custom_block_view($delta = '')
{
// The $delta parameter tells us which block is being requested.
switch ($delta)
{
case 'my_block':
// Create your block content here
$block['subject'] = t('This is just a test block created programatically');
$block['content'] = _user_detail_list();
break;
}
return $block;
}
/**
* Implements costome code we want to print().
*/
function _user_detail_list(){
//enter your query and output in some variable
$value = "<p>User Detail</p>"
return $value;
}
非常适合它之后,我通过以下方式实现了它:
CILanczosScaleTransform
它工作得很好,但我得到了一个经典的边框神器可能是由于算法的像素邻域基础。我在Apple的文档中找不到任何关于此事的内容。 是否有比渲染更大图像更聪明的东西然后裁剪边框以解决此问题?
答案 0 :(得分:0)
您可以使用imageByClampingToExtent
。
调用此方法...通过重复创建无限范围的图像 来自原始图像边缘的像素颜色。
您可以像这样使用它:
...
guard let ciImage = CIImage(image: image)?.clampedToExtent() else {
fatalError("Couldn't create CIImage from image in input")
}
在此处查看更多信息:Apple Doc for clampedtoextent