0

現在、カメラアプリを開発しており、撮影した写真に画像フィルター効果を使用しています。したがって、写真を撮るときは、写真が表示され、その下に、その写真の10種類のフィルター効果を水平スクロールビューの形式で表示したいと思います。

したがって、スクロールビューでフィルター効果のいずれかをクリックすると、その特定の効果が撮影した画像に適用され、フィルターが適用された画像が同じビューに表示されます。また、画像の上に保存ボタンを配置して、プライベートアプリディレクトリに保存できるようにする必要があります。(注:デフォルトの画像ギャラリーにはありません)

水平スクロールビューに画像を挿入する方法や、プライベートアプリディレクトリに画像を保存する方法として実装する必要のある正確なコードや概念を理解できませんでした。iOS5を使用しています。したがって、これに対する良い解決策は大歓迎です。

4

2 に答える 2

3

水平スクロールビューの画像に役立つ場合があります。

int scrollWidth = 180;
scrollview.contentSize = CGSizeMake(scrollWidth,110);    
int xOffset = 4;

for(int i = 0; i < [imgnamearr count]; ++i) 
{   
    UIImageView *img = [[UIImageView alloc] init];
    img.layer.masksToBounds = YES;
    img.frame = CGRectMake(5+xOffset,1, 145, 110);
    scrollview.contentSize = CGSizeMake(scrollWidth+xOffset,115); 
    [img addSubview:[UIImage imageNamed:[imgnamearr objectAtIndex:i]]];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(5+xOffset,0, 160, 110);
    [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    button.accessibilityIdentifier =[imgarr objectAtIndex:i]; 
    [scrollview addSubview:img];
    [scrollview addSubview:button];
    scrollview.contentSize = CGSizeMake(scrollWidth+xOffset,115);
    xOffset += 157;
}

- (IBAction)buttonClicked:(UIButton *)sender {
   UIImageView *bigimg = [[UIImageView alloc] init];
   bigimg.layer.masksToBounds = YES;
   bigimg.frame = CGRectMake(0,0, 200, 200);
   [bigimg addSubview:[UIImage imageNamed:sender.accessibilityIdentifier]];
   [self.view addSubview:bigimg];
}

編集2:

-(void)Setthewholeview{

int row = 0;
int column = 0;


for(int i = 0; i < [imagearry count]; ++i) 
{

    UIView *uview =[[UIView alloc]initWithFrame:CGRectMake(column*155+5, row*126, 155, 125)];
    uview.layer.masksToBounds=YES;
    uview.backgroundColor = [UIColor whiteColor];



    UIImageView *detailback =[[UIImageView alloc] initWithFrame:CGRectMake(0,72,52,52)]; 
    detailback.image=[[UIImage alloc]init];
    detailback.image = [UIImage imageNamed:@"abc.png"];
    [uview addSubview:detailback];
    [detailback release];


    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(column*155+5, row*126, 155, 125);
    [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    button.tag = [[arrayname objectAtIndex:i]intValue]; 

    if (column == 1) // here set column which you want. If you wnat 2 column then set 1 here.
    {
        column = 0;
        row++;
    } else 
    {
        column++;
    }

    [self.scrollview addSubview:uview];
    [self.scrollview addSubview:button];
}

[self.scrollview setContentSize:CGSizeMake(320, (row+1) * 130)];

}
于 2012-10-20T04:32:59.493 に答える
2

contentSizeの高さを の高さに等しく設定することにより、スクロール ビューを水平方向にのみスクロールさせることができますbounds

UIImageViewスクロール ビューのサブビューとして のインスタンスを追加することで、スクロール ビューに画像を表示できます。

UIImageJPEGRepresentationまたはを使用UIImagePNGRepresentationしてイメージを に変換しNSData、メッセージを送信してデータを書き込むことができwriteToURL:options:error:ます。

を使用して、ディレクトリ、ドメイン、および URL として-[NSFileManager URLForDirectory:inDomain:appropriateForURL:create:error:]渡すと、アプリのプライベート ドキュメント ディレクトリの URL を取得できます。NSDocumentDirectoryNSUserDomainMasknil

于 2012-10-20T04:17:33.587 に答える