2011년 9월 27일 화요일

2011년 4월 25일 월요일

Eclipse ShortKey

실행
Ctrl + F11 : 바로 전에 실행했던 클래스 실행
소스 네비게이션
Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때할때
Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
Alt ++ Left, Alt + Right : 이후, 이전
F4 : 클래스명을 선택하고 누르면 해당해당 클래스의 Hierarchy 를 볼 수 있다.

소스 편집
Ctrl + Space : 입력 보조장치(Content Assistance) 강제강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.
F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.
Ctrl + L : 원하는 소스 라인으로 이동
로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다..
CtrlCtrl + Shift + Space : 메소드의메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수수 있다.
Ctrl + D : 한줄 삭제
Ctrl + W : 파일파일 닫기
Ctrl + II : 들여쓰기 자동 수정
Ctrl + Shift + / : 블록 주석(/*(/* */)
Ctrl + Shift + \ : 블록 주석 제거
Ctrl + // : 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 된다.
Alt + Up(Down) : 위(아래)줄과줄과 바꾸기
Alt + ShiftShift + 방향키 : 블록 선택하기
Ctrl + Shift + Space : 메소드의 파라메터파라메터 목록 보기
Ctrl ++ Shift + O : 자동으로 import 하기
Ctrl + Shift + F4F4 : 열린 파일 모두 닫기
Ctrl + M : 전체화면 토글
Ctrl + Alt + Up(Down) : 한줄(블럭) 복사
Ctrl + , or . : 다음 annotation(에러, 워닝, 북마크 가능가능 )으로 점프
CtrlCtrl + 1 : 퀵 픽스
F3 : 선언된 변수로 이동, 메소드 정의부로 이동이동
Ctrl + T : 하이어라키 팝업 창 띄우기(인터페이스 구현 클래스간 이동시 편리편리 )
Ctrl ++ O : 메소드나 필드 이동하기
Ctrl + F6 : 창간 전환, UltraEdit 나 Editplus 의 Ctrl + Tab 과 같은 기능

2011년 3월 10일 목요일



127.0.0.1   activate.adobe.com
127.0.0.1   practivate.adobe.com
127.0.0.1   ereg.adobe.com
127.0.0.1   activate.wip3.adobe.com
127.0.0.1   wip3.adobe.com
127.0.0.1   3dns-3.adobe.com
127.0.0.1   3dns-2.adobe.com
127.0.0.1   adobe-dns.adobe.com
127.0.0.1   adobe-dns-2.adobe.com
127.0.0.1   adobe-dns-3.adobe.com
127.0.0.1   ereg.wip3.adobe.com
127.0.0.1   activate-sea.adobe.com
127.0.0.1   wwis-dubc1-vip60.adobe.com
127.0.0.1   activate-sjc0.adobe.com

iPhone SDK 4, Getting camera frame example

//Video Capture Session init

- (BOOL)initVideoCapture
{
AVCaptureDeviceInput *captureInput =
[AVCaptureDeviceInput deviceInputWithDevice:[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]
error:nil];

AVCaptureVideoDataOutput *captureOutput = [[AVCaptureVideoDataOutput alloc] init];
[captureOutput setSampleBufferDelegate:self queue:NULL];

NSString *key = (NSString *)kCVPixelBufferPixelFormatTypeKey;
NSNumber *val = [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA];
NSDictionary *videoSettings = [NSDictionary dictionaryWithObject:val forKey:key];

[captureOutput setVideoSettings:videoSettings];

AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];
[captureSession addInput:captureInput];
[captureSession addOutput:captureOutput];
[captureSession beginConfiguration];
[captureSession setSessionPreset:AVCaptureSessionPresetHigh];
[captureSession commitConfiguration];
[captureSession startRunning];
return YES;
}

//Video frame capture call back
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection {

CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);

// Lock the image buffer
CVPixelBufferLockBaseAddress(imageBuffer, 0);

// Get information of the image
uint8_t *baseAddress = (uint8_t *)CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 0);
size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
size_t width = CVPixelBufferGetWidth(imageBuffer);
size_t height = CVPixelBufferGetHeight(imageBuffer);

// Create Colorspace
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef newContext = CGBitmapContextCreate(baseAddress, width, height, 8, bytesPerRow, colorSpace,
kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGImageRef newImage = CGBitmapContextCreateImage(newContext);

// Copy image data
/*
CFDataRef dataref = CGDataProviderCopyData(CGImageGetDataProvider(newImage));
memcpy(mImageData, dataref, 640 * 480 * sizeof(char) * 4);
CFRelease(dataref);
*/
UIImage *image = [UIImage imageWithCGImage:newImage];
[imageView setImage:image];
[imageView setFrame:CGRectMake(0, 0, width, height)];

// Release it
CGContextRelease(newContext);
CGColorSpaceRelease(colorSpace);
CGImageRelease(newImage);

// Unlock the image buffer
CVPixelBufferUnlockBaseAddress(imageBuffer,0);
// CVBufferRelease(imageBuffer);
}

ref: http://forum.unity3d.com/viewtopic.php?p=300819

iOS 4.0, Method of replacement UIGetScreenImage function

Method One,

-(UIImage *)captureView:(UIView *)view
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(screenRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextFillRect(ctx, screenRect);
[view.layer renderInContext:ctx];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

Method Two.

UIGraphicsBeginImageContext(self.view.window.bounds.size);
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image2 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image2, nil, nil, nil);

ref: http://cafe.naver.com/mcbugi/71418

2011년 2월 10일 목요일

Objective-C Casting

# int -> NSString

// 숫자 7이 있다.
int myint=7;

// 7로 초기화한 myint를 NSString 타입으로 캐스팅한다.
NSString *myString = [NSString stringWithFormat:@"%d", myint];

//이제 myint의 숫자 7이 string 형태로 myString 에 할당되었다.




# NSString -> int

//이제 반대로 mystring의 값을 int형태로 형변환 해보자.
//이번에도 매우 간단하다.

myint = [myString intValue];