| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -776,9 +776,22 @@ Image ImageCopy(Image image) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Create an image from another image piece | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			Image ImageFromImage(Image image, Rectangle rec) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    Image result = ImageCopy(image); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    Image result = { 0 }; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    int bytesPerPixel = GetPixelDataSize(1, 1, image.format); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // TODO: Check rec is valid? | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    ImageCrop(&result, rec); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    result.width = rec.width; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    result.height = rec.height; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    result.data = RL_CALLOC(rec.width*rec.height*bytesPerPixel, 1); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    result.format = image.format; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    result.mipmaps = 1; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			     | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    for (int y = 0; y < rec.height; y++) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    { | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        memcpy(((unsigned char *)result.data) + y*(int)rec.width*bytesPerPixel, ((unsigned char *)image.data) + ((y + (int)rec.y)*image.width + (int)rec.x)*bytesPerPixel, (int)rec.width*bytesPerPixel); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    } | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    return result; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |