Subscribe ( )

iPhone Programming Tutorials

 

Forum

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

You must be logged in to post Login Register

Search 

About displaying the decoded image source which received data from socket to the screen

User Post

1:12 am
April 10, 2009


JinRyu

Noob

posts 1

1

This program source displays the decoded image source which received data from socket to the screen.
There is some problem in this source which I do not know…
If I make comment the last end of the code ( [imgview setImage:processedImage] ) it works fine but
image doesn't displays.
but if I use the code ( [imgview setImage:processedImage] ) in the end of the code the program dies in 5 minute.
I would like to know why…..

  retvalue = DecompressFrame(aBuffer, [data length], _rgbdata, buffersize);
   
   size_t pixelsWide = 176;
   size_t pixelsHigh = 144;
   int m_xy_size = pixelsWide * pixelsHigh;
   int             bitsPerComponent = 8;
   int             bitmapByteCount;

   int numberOfCompponents = 3;//CGColorSpaceGetNumberOfComponents(colorSpace); //always returns 3 -> unsupported parameter combination
   int bitsPerPixel = bitsPerComponent * numberOfCompponents;
   int bitmapBytesPerRow   = (pixelsWide * numberOfCompponents);
   bitmapByteCount     = (bitmapBytesPerRow * pixelsHigh);

   CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  
   
   // 화면 뒤집기
   unsigned    char        *imageData;
   imageData = (unsigned char *)malloc(m_xy_size*3);
   memcpy(imageData, _rgbdata, m_xy_size*3 * sizeof(unsigned char));
   int i,j,k;
   for(j=0, k=pixelsHigh-1; j< pixelsHigh; j++, k–)
   {
    for ( i = 0; i < pixelsWide; i++)
    {
    imageData[(j*pixelsWide+i)*3+2] = imageDataAsInts[(k*pixelsWide+i)+3];
    imageData[(j*pixelsWide+i)*3+1] = imageDataAsInts[(k*pixelsWide+i)*3+1];
    imageData[(j*pixelsWide+i)*3] = imageDataAsInts[(k*pixelsWide+i)*3+2];
    }
   }
   
   CGDataProviderRef dataProvider = CGDataProviderCreateWithData(NULL, imageData, bitmapByteCount, NULL);
   
   CGImageRef cgImage = CGImageCreate(pixelsWide, pixelsHigh, bitsPerComponent,
              bitsPerPixel, bitmapBytesPerRow, colorSpace, kCGImageAlphaNone,
              dataProvider, NULL, false, kCGRenderingIntentDefault);
   
   UIImage *processedImage = [UIImage imageWithCGImage:cgImage];
   CGDataProviderRelease(dataProvider);
   CGColorSpaceRelease(colorSpace);
   
   
   
   [imgview setImage:processedImage];


About the iCodeBlog forum

Currently Online:

2 Guests

Maximum Online: 25

Forums:

Groups: 2

Forums: 6

Topics: 305

Posts: 743

Members:

There are 657 members

There are 1 guests


Brandon has made 87 posts

Top Posters:

bobcubsfan - 53

crazyiez - 30

VertigoSol - 26

Uhu - 17

AdeC - 17

Administrator: Brandon | Moderators: VertigoSol


© - Version 3.1.4 (Build 357)