2010-07-15 26 views
6

Tôi đang sử dụng cổng iPhone của ImageMagick. Tôi đang cố gắng để lặp qua các khung hình của một gif động và biến từng khung thành một UIImage. Tôi biết tôi có thể bắt đầu một UIImage với NSData mà tôi có thể bắt đầu với một khoảng trống *. Vậy làm thế nào để tôi có được bộ đệm và độ dài của hình ảnh?Cách lấy bộ đệm c từ ImageMagick Image

Dưới đây là các mã:

MagickReadImage(wand, filename); 

     while(MagickHasNextImage(wand)) { 
      Image *myImage = GetImageFromMagickWand(wand); 
      //HELP ME PLEASE 
      const void *myBuff =myImage->blob; //guessing this is the right way to get the buffer? 
      int myLength = ????? //no idea how to get the length 
      NSData *myData = [[NSData alloc] initWithBytes:myBuff length:myLength]; 
      UIImage myImage = [[UIImage alloc] initWithData:myData]]; 
      MagickNextImage(wand); 
    } 

Trả lời

4

tôi có giải pháp bây giờ:

size_t my_size; 
    unsigned char * my_image = MagickGetImageBlob(wand, &my_size); 
    NSData * data = [[NSData alloc] initWithBytes:my_image length:my_size]; 
    free(my_image); 

    UIImage * image = [[UIImage alloc] initWithData:data]; 
Các vấn đề liên quan