Revision: 24360
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at March 7, 2010 08:31 by kaptnkill
                            
                            Updated Code
/**
* resize
* Take input diemnsion and return the resulting dimensions using a ratio 
* @param _w initial width
* @param _h initial height
* @param _targetW targeted width
* @param _targetH targeted height
* @param _ratio set the ratio manually instead of automatically detecting it (0)
* @return An object containing both resulting dimensions :object.width,object.height
*/
function resize(_w:Number,_h:Number,_targetW:Number,_targetH:Number,_ratio:Number = 0):Object {
	var ratio:Number = (_ratio ==0) ? _w / _h : _ratio;
	var rW:Number = _targetW;
	var rH:Number = _targetH;
	if (ratio >= 1) {
		rH = _targetW / ratio;
		if (rH > _targetH) {
			rH = _targetH;
			rW = rH * ratio;
		}
	}else {
		rW = _targetH * ratio;
		if (rW > _targetW) {
			rW = _targetW;
			rH = rW / ratio;
		}
	}
	var newDimensions:Object = {width:rW,height:rH };
	return newDimensions;
}
                                
                            Revision: 24359
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at February 27, 2010 12:13 by kaptnkill
                            
                            Updated Code
/**
* resize
* Return the new dimension ,width and height 
* @param _w initial width
* @param _h initial height
* @param _targetW targeted width
* @param _targetH targeted height
* @param _ratio set the ratio manually instead of automatically detecting it (0)
* @return An object containing both resulting dimensions :object.width,object.height
*/
function resize(_w:Number,_h:Number,_targetW:Number,_targetH:Number,_ratio:Number = 0):Object {
	var ratio:Number = (_ratio ==0) ? _w / _h : _ratio;
	var rW:Number = _targetW;
	var rH:Number = _targetH;
	if (ratio >= 1) {
		rH = _targetW / ratio;
		if (rH > _targetH) {
			rH = _targetH;
			rW = rH * ratio;
		}
	}else {
		rW = _targetH * ratio;
		if (rW > _targetW) {
			rW = _targetW;
			rH = rW / ratio;
		}
	}
	var newDimensions:Object = {width:rW,height:rH };
	return newDimensions;
}
                                
                            Revision: 24358
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at February 27, 2010 12:09 by kaptnkill
                            
                            Initial Code
/**
* resize
* Return the new dimension ,width and height 
* @param _w initial width
* @param _h initial height
* @param _targetW targeted width
* @param _targetH targeted height
* @param _ratio set the ratio instead of automatically detecting it (0)
* @return An object containing both resulting dimensions :width,height
*/
function resize(_w:Number,_h:Number,_targetW:Number,_targetH:Number,_ratio:Number = 0):Object {
			var ratio:Number = (_ratio ==0) ? _w / _h : _ratio;
			var rW:Number = _targetW;
			var rH:Number = _targetH;
			if (ratio >= 1) {
				rH = _targetW / ratio;
				if (rH > _targetH) {
					rH = _targetH;
					rW = rH * ratio;
				}
			}else {
				rW = _targetH * ratio;
				if (rW > _targetW) {
					rW = _targetW;
					rH = rW / ratio;
				}
			}
			var newDimensions:Object = {width:rW,height:rH };
			return newDimensions;
		}
	}
                                Initial URL
Initial Description
Usage: <code> var newDimensions:Object = resize(800,600,320,200); </code> This can be adapted to pretty much any language...
Initial Title
AS3 Resize with ratio
Initial Tags
resize, image
Initial Language
ActionScript 3