이미지 액세스
10260 단어 이미지
//
// ViewController.m
//
//
// Created by apple on 14-8-28.
// Copyright (c) 2014 apple. All rights reserved.
//
#import "ViewController.h"
#import <sqlite3.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *imagePath=[[NSBundle mainBundle]pathForResource:@"20140727_4a88ec45b0ba50d4f06015b18521e12b" ofType:@"png"];
NSData *imageData=UIImagePNGRepresentation([UIImage imageWithContentsOfFile:imagePath]);
NSString *bdPath=[NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/image.bd"];
NSLog(@"%@",bdPath);
sqlite3 *imageDatabase;
int ret=sqlite3_open([bdPath UTF8String],&imageDatabase);
if (ret!=SQLITE_OK) {
NSLog(@"open failed");
return;
}
NSString *sql=@"CREATE TABLE IF NOT EXISTS history (hid integer primary key autoincrement not null, name text,image blob)";
sqlite3_stmt *stmt;
ret=sqlite3_prepare(imageDatabase, [sql UTF8String], -1, &stmt, NULL);
if (ret!=SQLITE_OK) {
NSLog(@"prepare failed");
sqlite3_close(imageDatabase);
return;
}
// SQL
ret = sqlite3_step(stmt);
if (ret != SQLITE_DONE) {
NSLog(@"step failed!");
//
sqlite3_finalize(stmt);
sqlite3_close(imageDatabase);
return;
}
sqlite3_finalize(stmt);
NSString *insertSQL2 = @"INSERT INTO history (name,image) VALUES(?,?)";
sqlite3_stmt *stmt2;
ret = sqlite3_prepare_v2(imageDatabase, [insertSQL2 UTF8String], -1, &stmt2, NULL);
if (ret != SQLITE_OK) {
NSLog(@"prepare stmt2 failed");
sqlite3_close(imageDatabase);
return;
}
NSString *name = @" ";
//
sqlite3_bind_text(stmt2, 1, [name UTF8String], -1, NULL);
sqlite3_bind_blob(stmt2, 2, [imageData bytes], [imageData length], NULL);
ret = sqlite3_step(stmt2);
if (ret != SQLITE_DONE) {
NSLog(@"insert stmt2 failed");
sqlite3_finalize(stmt2);
sqlite3_close(imageDatabase);
return;
}
else {
int count = sqlite3_changes(imageDatabase);
NSLog(@"insert success: %d", count);
}
sqlite3_close(imageDatabase);
//
NSString *select = @"SELECT * FROM history where name=?";
sqlite3_stmt *stmtGet;
ret = sqlite3_prepare_v2(imageDatabase, [select UTF8String], -1, &stmtGet, NULL);
if (ret != SQLITE_OK) {
NSLog(@"prepare stmt2 failed");
sqlite3_close(imageDatabase);
return;
}
else
{
NSString *name=@" ";
sqlite3_bind_text(stmtGet, 1,[name UTF8String], -1, NULL);
if (sqlite3_step(stmtGet)==SQLITE_ROW) {
int byte=sqlite3_column_bytes(stmtGet, 2);
Byte *imgByte=(Byte *)sqlite3_column_blob(stmtGet, 2);
NSData *imgData=[NSData dataWithBytes:imgByte length:byte];
UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
imageView.backgroundColor=[UIColor redColor];
imageView.image=[UIImage imageWithData:imgData];
[self.view addSubview:imageView];
}
sqlite3_close(imageDatabase);
}
// NSString *name = @" ";
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【초보자용】 화상의 가공이나 압축 등에 편리한 WEB 툴 4선WEB 개발 시에는 화상의 가공이나 압축 등 다양한 처리가 필요합니다. Adobe 소프트웨어를 가지고 있다면 거기까지 어려움이 적지만 Adobe 포토샵이 없어도 WEB상에서 가공·압축을 할 수 있는 툴을 소개. 제작...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.