/// <summary> /// Corrects the gamma. /// </summary> /// <param name="image">The image.</param> /// <param name="gamma">The gamma.</param> public void CorrectGamma(TexImage image, double gamma) { if (gamma <= 0) { Log.Error("The gamma must be a positive float."); throw new TextureToolsException("The gamma must be a positive float."); } if (image.Format.IsCompressed()) { Log.Warning("You can't correct gamme on a compressed texture. It will be decompressed first.."); Decompress(image, image.Format.IsSRgb()); } var request = new GammaCorrectionRequest(gamma); ExecuteRequest(image, request); }
/// <summary> /// Corrects the gamma. /// </summary> /// <param name="image">The image.</param> /// <param name="libraryData">The library data.</param> /// <param name="request">The request.</param> public void CorrectGamma(TexImage image, FreeImageTextureLibraryData libraryData, GammaCorrectionRequest request) { Log.Info("Applying a gamma correction of " + request.Gamma + " ..."); foreach (FIBITMAP bitmap in libraryData.Bitmaps) { FreeImage.AdjustGamma(bitmap, request.Gamma); } }