0
OpenGL ESを使用して、ランダムピクチャ(タイプノイズピクセル)を設定する必要があります。iOSでOpenGL ESを使用してランダムな画像を描画するには
//declare variable:
UIImage* myImage;
UIImageView *imageView;
CGRect rect;
//function whitch drawing random pixel-array picture and display it on screen ios-device;
-(void)setPicture
{
if(imageView!=NULL)
{
//Addition removal imageView
[imageView removeFromSuperview];
imageView = NULL; //
}
int width = 352; //sizes
int height = 288;
size_t bufferLength = width * height * 4; //
uint8_t* pixels = (uint8_t*)malloc(bufferLength); //
for (int i = 0; i < bufferLength/2; i++) {
pixels[i] = rand() % 255; //obtain random pixel array
}
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGContextRef ctx = CGBitmapContextCreate(pixels, width, height, 8, width * 4, space, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedLast); //
CGImageRef toCGImage = CGBitmapContextCreateImage(ctx);
UIImage * uiimage = [[UIImage alloc] initWithCGImage:toCGImage]; //reflect pixel array to picture
CGImageRelease(toCGImage);
CGColorSpaceRelease(space);
CGContextRelease(ctx);
free(pixels);
myImage = uiimage;
//
rect = self.view.bounds; //
if(imageView == NULL)
{
imageView = [[UIImageView alloc] initWithFrame:rect];
imageView.image = myImage;
[self.view addSubview:imageView];
NSLog(@"NULL");
} else
{
[imageView setNeedsDisplay];
NSLog(@"Dewnull");
}
}
私の機能の呼び出し後、同じ画像が画面に表示されます。
質問
それは、iOSがのOpenGL ESで画面上に類似した画像を設定することは可能ですか?それを作る方法?それは私の機能より速く動作するのだろうか?