69 lines
2.6 KiB
C#
69 lines
2.6 KiB
C#
/*
|
||
* 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;
|
||
}
|
||
}
|
||
}
|