/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using System; using System.Drawing; using System.IO; using System.Windows.Media.Imaging; using VisionCommon; namespace VisionCommonUI { public static class ThumbnailImage { public static Bitmap OCR() { var bitmapImage = new BitmapImage( new Uri("pack://application:,,,/VisionCommonUI;component/Icons/Thumbnail/ocr.png")); return ToBitmap(bitmapImage); } public static Bitmap Code() { var bitmapImage = new BitmapImage( new Uri("pack://application:,,,/VisionCommonUI;component/Icons/Thumbnail/barcode.png")); return ToBitmap(bitmapImage); } public static Bitmap Blob() { var bitmapImage = new BitmapImage( new Uri("pack://application:,,,/VisionCommonUI;component/Icons/Thumbnail/blob.png")); return ToBitmap(bitmapImage); } public static Bitmap Brightness() { var bitmapImage = new BitmapImage( new Uri("pack://application:,,,/VisionCommonUI;component/Icons/Thumbnail/brightness.png")); return ToBitmap(bitmapImage); } private static Bitmap ToBitmap(BitmapImage bitmapImage) { using (MemoryStream outStream = new MemoryStream()) { BitmapEncoder enc = new BmpBitmapEncoder(); enc.Frames.Add(BitmapFrame.Create(bitmapImage)); enc.Save(outStream); Bitmap bitmap = new Bitmap(outStream); if (VisionEnv.GetMainTheme() == Aurora.View.eMainTheme.Light) { bitmap = ApplyWhiteFilter(bitmap); } return new Bitmap(bitmap); } } static Bitmap ApplyWhiteFilter(Bitmap original) { Bitmap result = new Bitmap(original.Width, original.Height); for (int y = 0; y < original.Height; y++) { for (int x = 0; x < original.Width; x++) { Color pixelColor = original.GetPixel(x, y); // 하얀색 필터 적용 (여기서는 색상을 밝게 조정) int r = Math.Min(255, pixelColor.R + 100); // 빨간색 값 증가 int g = Math.Min(255, pixelColor.G + 100); // 초록색 값 증가 int b = Math.Min(255, pixelColor.B + 100); // 파란색 값 증가 Color newColor = Color.FromArgb(r, g, b); result.SetPixel(x, y, newColor); } } return result; } } }