相关疑难解决方法(0)

裁剪UIImage

我有一些调整图像大小的代码,所以我可以获得图像中心的缩放块 - 我使用它来获取UIImage并返回图像的小方形表示,类似于在专辑视图中看到的照片应用程序.(我知道我可以使用a UIImageView并调整裁剪模式以获得相同的结果,但这些图像有时会显示在中UIWebViews).

我已经开始注意到这段代码中的一些崩溃,我有点难过.我有两种不同的理论,我想知道是否有基础.

理论1)我通过绘制到目标大小的屏幕外图像上下文来实现裁剪.由于我想要图像的中心部分,我设置CGRect传递给的参数drawInRect大于我的图像上下文边界的东西.我希望这是犹太洁食,但我是否试图汲取我不应该触及的其他记忆?

理论2)我在后台线程中做了所有这些.我知道UIKit的部分内容仅限于主线程.我假设/希望绘制到屏幕外的视图不是其中之一.我错了吗?

(哦,我多么想念NSImage's drawInRect:fromRect:operation:fraction:方法.)

cocoa-touch image-manipulation objective-c uiimagepickercontroller ios

206
推荐指数
11
解决办法
17万
查看次数

只需用矩形掩盖UIView即可

我想知道如何简单地掩盖任何类型的UIView的可见区域.到目前为止,我所阅读的所有答案/教程都描述了用图像,渐变或创建圆角来掩盖,这比我以前的方式更先进.

示例:我有一个带有边界(0,0,100,100)的UIView,我想用掩码切掉视图的右半部分.因此我的面具框架将是(0,0,50,100).

知道怎么做这个简单吗?我不想覆盖drawrect方法,因为这应该适用于任何UIView.

我试过这个,但它只是让整个视图看不见.

CGRect mask = CGRectMake(0, 0, 50, 100);
UIView *maskView = [[UIView alloc] initWithFrame:mask];
viewToMask.layer.mask = maskView.layer;
Run Code Online (Sandbox Code Playgroud)

mask uiview ios

51
推荐指数
3
解决办法
6万
查看次数

在Android的过滤图像之间滑动

基本上,我重新问这个问题,但是在android上实现它.

我试图允许用户在静态图像上的过滤器之间滑动.这个想法是当滤镜在其上方滚动时图像保持原位.Snapchat最近发布了一个实现此功能的版本.这段视频显示了我想要在1:05完成的事情.

我尝试使用覆盖填充列表并使用onFling和onDraw进行分页,但是我丢失了动画.有没有办法可以用ViewPager完成?

编辑:根据要求,我提供了覆盖视图分页的实现.它使用位于图像视图顶部的透明png图像填充viewpager.此外,此代码在C#中,因为我使用的是Xamarin Android.对于那些不熟悉C#的人来说,它与Java非常相似

...
static List<ImageView> overlayList = new List<ImageView>();
...

public class OverlayFragmentAdapter : FragmentPagerAdapter
{
    public OverlayFragmentAdapter(Android.Support.V4.App.FragmentManager fm) : base(fm)
    {

    }



    public override int Count
    {
        get { return 5; } //hardcoded temporarily 
    }

    public override Android.Support.V4.App.Fragment GetItem(int position)
    {
        return new OverlayFragment ();
    }
}
public class OverlayFragment : Android.Support.V4.App.Fragment
{
    public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {


        View view = inflater.Inflate (Resource.Layout.fragment_overlay, container, false);

        LinearLayout …
Run Code Online (Sandbox Code Playgroud)

java android android-viewpager imagefilter snapchat

11
推荐指数
1
解决办法
1596
查看次数