首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MagickWand用于iOS -内爆图像

MagickWand用于iOS -内爆图像
EN

Stack Overflow用户
提问于 2014-02-22 11:49:20
回答 1查看 269关注 0票数 0

我正在尝试实现在图像中内爆区域的功能。我在iOS应用程序中使用iOS,但通过MagickWand API,我无法指定要内爆的图像区域(通过x和y坐标)。内爆似乎只以半径作为参数,并且似乎使用图像的中心作为内爆操作的参考点。

目前,我正在做:

代码语言:javascript
复制
MagickImplodeImage(self->wand,-1.0);
MagickWandGenesis();
self->wand = NewMagickWand();

有人有这样做的经验吗?另外,还有其他的图像处理库可以推荐给iOS吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-17 22:09:25

ImageMagick的几何学系统需要在内爆操作之前调用。MagickGetImageRegion将创建一个要内爆的新图像,而MagickCompositeImage将应用子图像返回。一个示例C应用程序看起来像..。

代码语言:javascript
复制
include <stdlib.h>
#include <stdio.h>
#include <wand/MagickWand.h>

int main ( int argc, const char ** argv)
{
  MagickWandGenesis();
  MagickWand * wand = NULL;
  MagickWand * impl = NULL;
  wand = NewMagickWand();
  MagickReadImage(wand,"source.jpg");
  // Extract a MBR (minimum bounding rectangle) of area to implode
  impl = MagickGetImageRegion(wand, 200, 200, 200, 100);
  if ( impl ) {
    // Apply implode on sub image
    MagickImplodeImage(impl, 0.6666);
    // Place the sub-image on top of source
    MagickCompositeImage(wand, impl, OverCompositeOp, 200, 100);
  }
  MagickWriteImage(wand, "output.jpg");
  if(wand)wand = DestroyMagickWand(wand);
  if(impl)impl = DestroyMagickWand(impl);
  MagickWandTerminus();
  return 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21953891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档