private static float GetHeight(int x, int y, BitmapData BlackAndWhiteData, int BlackAndWhitePixelSize) { BlackAndWhiteData.ThrowIfNull("BlackAndWhiteData"); Color TempColor = BlackAndWhiteData.GetPixel(x, y, BlackAndWhitePixelSize); return GetHeight(TempColor); }
private static void GetMinMaxPixel(out Color Min, out Color Max, BitmapData ImageData, int PixelSize) { ImageData.ThrowIfNull("ImageData"); int MinR = 255, MinG = 255, MinB = 255; int MaxR = 0, MaxG = 0, MaxB = 0; for (int x = 0; x < ImageData.Width; ++x) { for (int y = 0; y < ImageData.Height; ++y) { Color TempImage = ImageData.GetPixel(x, y, PixelSize); if (MinR > TempImage.R) MinR = TempImage.R; if (MaxR < TempImage.R) MaxR = TempImage.R; if (MinG > TempImage.G) MinG = TempImage.G; if (MaxG < TempImage.G) MaxG = TempImage.G; if (MinB > TempImage.B) MinB = TempImage.B; if (MaxB < TempImage.B) MaxB = TempImage.B; } } Min = Color.FromArgb(MinR, MinG, MinB); Max = Color.FromArgb(MaxR, MaxG, MaxB); }
/// <summary> /// Unlocks the image's data /// </summary> /// <param name="Image">Image to unlock</param> /// <param name="ImageData">The image data</param> /// <returns>Returns the image</returns> public static Bitmap UnlockImage(this Bitmap Image, BitmapData ImageData) { Image.ThrowIfNull("Image"); ImageData.ThrowIfNull("ImageData"); Image.UnlockBits(ImageData); return Image; }