2026-01-26 18:56:53 +09:00

69 lines
2.6 KiB
C#
Raw Blame History

/*
* 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);
// <20>Ͼ<EFBFBD><CFBE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD>⼭<EFBFBD><E2BCAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
int r = Math.Min(255, pixelColor.R + 100); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
int g = Math.Min(255, pixelColor.G + 100); // <20>ʷϻ<CAB7> <20><> <20><><EFBFBD><EFBFBD>
int b = Math.Min(255, pixelColor.B + 100); // <20>Ķ<EFBFBD><C4B6><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
Color newColor = Color.FromArgb(r, g, b);
result.SetPixel(x, y, newColor);
}
}
return result;
}
}
}