.NET용 FileFormat.HEIC
.NET API를 사용하여 HEIC 이미지 읽기 및 변환 프로세스 단순화
FileFormat.HEIC를 사용하여 HEIC 파일 변환 및 자동화를 간소화하는 경량 오픈 소스 .NET API로 이미지를 손쉽게 편집하세요.
FileFormat.HEIC for .NET 은 HEIC 이미지 처리 환경을 혁신합니다. 이 종합 가이드에서는 경량 오픈 소스 .NET API인 FileFormat.HEIC를 활용하여 HEIC 파일을 쉽게 처리할 수 있는 기능과 이점을 자세히 살펴봅니다.
HEVC(High Efficiency Video Coding)로 인코딩된 이미지가 포함된 고효율 이미지 파일 형식의 약어인 HEIC는 iOS 기기의 기본 이미지 형식으로 JPEG를 대체하기 위해 개발된 최신 이미지 형식입니다. HEIC는 뛰어난 이미지 품질과 압축을 제공하지만 플랫폼 간 호환성은 여전히 문제로 남아 있습니다. 많은 애플리케이션과 플랫폼에는 HEIC에 대한 기본 지원이 부족하여 변환 없이는 이러한 파일을 보거나 편집하기가 어렵습니다.
FileFormat.HEIC는 HEIC 파일을 JPG, PNG, PDF 등을 포함한 다양한 형식으로 원활하게 변환하기 위한 강력한 솔루션으로 등장합니다. 이 경량 오픈 소스 .NET API는 HEIC 이미지 작업을 단순화하여 개발자와 사용자에게 HEIC 파일을 손쉽게 처리할 수 있는 사용자 친화적인 인터페이스를 제공합니다.
FileFormat.HEIC는 Openize 라이선스에서 사용할 수 있습니다.< /p>
주요 기능 및 장점- 손쉬운 변환: 몇 줄의 코드를 사용하여 HEIC 파일을 JPG 및 PNG와 같은 널리 사용되는 형식으로 변환합니다.
- HEVC 디코더 통합: 내장된 HEVC 디코더를 활용하여 HEIC 파일을 디코딩하여 정확하고 안정적인 변환을 보장합니다.
- 광범위한 형식 지원: HEIC 파일을 PDF, WEBP 등 다양한 형식으로 변환하여 다양한 플랫폼과 애플리케이션에서 다양하게 사용할 수 있습니다.
- 오픈소스 및 무료: 라이센스 비용이 없고 모든 수준의 개발자와 사용자가 액세스할 수 있는 오픈소스 솔루션의 이점을 누려보세요.
- C# 애플리케이션과의 원활한 통합: FileFormat.HEIC를 C# 애플리케이션에 손쉽게 통합하여 기존 워크플로 내에서 원활한 HEIC 파일 처리를 가능하게 합니다.
- 손쉬운 변환: 몇 줄의 코드를 사용하여 HEIC 파일을 JPG 및 PNG와 같은 널리 사용되는 형식으로 변환합니다.
- HEVC 디코더 통합: 내장된 HEVC 디코더를 활용하여 HEIC 파일을 디코딩하여 정확하고 안정적인 변환을 보장합니다.
- 광범위한 형식 지원: HEIC 파일을 PDF, WEBP 등 다양한 형식으로 변환하여 다양한 플랫폼과 애플리케이션에서 다양하게 사용할 수 있습니다.
- 오픈소스 및 무료: 라이센스 비용이 없고 모든 수준의 개발자와 사용자가 액세스할 수 있는 오픈소스 솔루션의 이점을 누려보세요.
- C# 애플리케이션과의 원활한 통합: FileFormat.HEIC를 C# 애플리케이션에 손쉽게 통합하여 기존 워크플로 내에서 원활한 HEIC 파일 처리를 가능하게 합니다.
.NET용 FileFormat.HEIC를 시작하는 방법
FileFormat.HEIC를 시작하는 것은 빠르고 쉽습니다. 다음 단계를 따르세요.
- FileFormat.HEIC 설치: NuGet 패키지 관리자 또는 .NET CLI를 통해 FileFormat.HEIC 패키지를 설치합니다.
- 프로젝트와 통합: C# 프로젝트에서 FileFormat.HEIC 라이브러리를 참조하세요.
- 변환 시작: FileFormat.HEIC에서 제공하는 간단한 API를 활용하여 HEIC 파일을 원하는 형식으로 변환합니다.
.NET용 FileFormat.HEIC를 설치하는 데 권장되는 방법은 NuGet을 사용하는 것입니다. 원활한 설치를 위해 다음 명령어를 사용해주세요.
HEIC 파일을 C#의 배열로 읽어오기
이 코드 스니펫은 HEIC 이미지 파일을 효율적으로 로드하고 지정된 형식으로 픽셀 데이터를 추출한 후 후속 작업을 위해 배열에 저장합니다.
FileStream
을 사용하여 "filename.heic"이라는 HEIC 파일을 엽니다.- 파일 스트림의 HEIC 이미지를
HeicImage
개체로 로드합니다. - ARGB32 형식의 HEIC 이미지에서 픽셀 데이터를 추출하여 정수 배열에 저장합니다.
아래 코드 조각을 복사하여 기본 파일에 붙여넣고 프로그램을 실행하세요.
Argb32 데이터가 포함된 int 배열로 .heic 파일 읽기
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
int[] pixels = image.GetInt32Array(Heic.Decoder.PixelFormat.Argb32);
}
HEIC 파일을 C#의 WriteableBitmap으로 읽기
다음 코드는 기존 HEIC 이미지 파일을 열고, 픽셀 데이터를 추출하고, 추가 처리를 위해 WriteableBitmap 객체를 생성하는 방법을 보여줍니다.
FileStream
을 사용하여 "filename.heic"이라는 HEIC 파일을 엽니다.- 파일 스트림의 HEIC 이미지를
HeicImage
개체로 로드합니다. - BGRA32 형식의 HEIC 이미지에서 픽셀 데이터를 추출하여 배열에 저장합니다.
- HEIC 이미지의 너비와 높이를 가져옵니다.
- 지정된 너비, 높이 및 픽셀 형식을 사용하여
WriteableBitmap
개체를 만듭니다. - 전체 비트맵 영역을 덮는 직사각형을 정의합니다.
- 추출된 픽셀 데이터를
WriteableBitmap
개체에 씁니다.
아래 코드 조각을 복사하여 기본 파일에 붙여넣고 프로그램을 실행하세요.
System.Windows.Media.Imaging.WriteableBitmap으로 .heic 파일 읽기
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
var pixels = image.GetByteArray(Heic.Decoder.PixelFormat.Bgra32);
var width = (int)image.Width;
var height = (int)image.Height;
WriteableBitmap wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
Int32Rect rect = new Int32Rect(0, 0, width, height);
wbitmap.WritePixels(rect, pixels, 4 * width, 0);
}
HEIC 파일을 C#의 비트맵으로 읽기
다음 코드는 기존 HEIC 이미지 파일을 열고, 픽셀 데이터를 추출하고, 추가 처리를 위해 Bitmap 개체를 만드는 방법을 보여줍니다.
FileStream
을 사용하여 "filename.heic"이라는 HEIC 파일을 엽니다.- 파일 스트림의 HEIC 이미지를
HeicImage
개체로 로드합니다. - ARGB32 형식의 HEIC 이미지에서 픽셀 데이터를 추출하여 int 배열에 저장합니다.
- HEIC 이미지의 너비와 높이를 가져옵니다.
- 지정된 너비와 높이를 사용하여
비트맵
개체를 만듭니다. 비트맵
의 각 픽셀에 대한 픽셀 데이터를 설정합니다.
아래 코드 조각을 복사하여 기본 파일에 붙여넣고 프로그램을 실행하세요.
System.드로잉.Common.Bitmap으로 .heic 파일 읽기
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
var pixels = image.GetInt32Array(Heic.Decoder.PixelFormat.Argb32);
var width = (int)image.Width;
var height = (int)image.Height;
var i = 0;
Bitmap myBitmap = new Bitmap(width, height);
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
myBitmap.SetPixel(x, y, Color.FromArgb(pixels[i++]));
}
C#에서 프로그래밍 방식으로 HEIC를 JPG로 변환
제공된 코드는 프로그래밍 방식으로 HEIC 이미지 파일을 로드하고, 이를 JPEG 이미지로 변환하고, C#을 사용하여 "output.jpg"로 저장하는 방법을 보여줍니다. 각 단계는 다음과 같습니다.
FileStream
을 사용하여 읽기 모드에서 "filename.heic"이라는 HEIC 파일을 엽니다.- 파일 스트림의 HEIC 이미지를
HeicImage
개체로 로드합니다. - BGRA32 형식의 HEIC 이미지에서 픽셀 데이터를 추출하여 바이트 배열에 저장합니다.
- HEIC 이미지의 너비와 높이를 검색합니다.
- 지정된 너비, 높이, DPI, 픽셀 형식 및 팔레트를 사용하여
WriteableBitmap
개체를 만듭니다. - 전체 비트맵 영역을 덮는 직사각형을 정의합니다.
- 추출된 픽셀 데이터를
WriteableBitmap
개체에 씁니다. - 변환된 이미지를 "output.jpg"로 저장하기 위한 파일 스트림을 생성하거나 엽니다.
- 비트맵을 JPEG 이미지로 인코딩하려면
JpegBitmapEncoder
개체를 만듭니다. - 인코더에 비트맵 프레임을 추가합니다.
- 인코딩된 이미지를 파일 스트림에 저장합니다.
아래 코드 조각을 복사하여 기본 파일에 붙여넣고 프로그램을 실행하세요.
WriteableBitmap을 사용하여 .heic 파일을 .jpg로 변환
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
var pixels = image.GetByteArray(Heic.Decoder.PixelFormat.Bgra32);
var width = (int)image.Width;
var height = (int)image.Height;
var wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
var rect = new Int32Rect(0, 0, width, height);
wbitmap.WritePixels(rect, pixels, 4 * width, 0);
using FileStream saveStream = new FileStream("output.jpg", FileMode.OpenOrCreate);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(wbitmap));
encoder.Save(saveStream);
}
C#에서 프로그래밍 방식으로 HEIC 컬렉션을 PNG 파일 세트로 변환
제공된 코드는 프로그래밍 방식으로 HEIC 컬렉션 이미지 파일을 로드하고, 이를 PNG 파일 세트로 변환하고, C#을 사용하여 저장하는 방법을 보여줍니다. 각 단계는 다음과 같습니다.
FileStream
을 사용하여 읽기 모드에서 "filename.heic"이라는 HEIC 파일을 엽니다.- 파일 스트림의 HEIC 이미지를
HeicImage
개체로 로드합니다. - 이미지의 각 프레임에 대해 다음을 수행합니다.
- BGRA32 형식의 HEIC 이미지에서 픽셀 데이터를 추출하여 바이트 배열에 저장합니다.
- HEIC 이미지의 너비와 높이를 검색합니다.
- 지정된 너비, 높이, DPI, 픽셀 형식 및 팔레트를 사용하여
WriteableBitmap
개체를 만듭니다. - 전체 비트맵 영역을 덮는 직사각형을 정의합니다.
- 추출된 픽셀 데이터를
WriteableBitmap
개체에 씁니다. - 변환된 이미지를 "output.png"로 저장하기 위한 파일 스트림을 생성하거나 엽니다.
- 비트맵을 PNG 이미지로 인코딩하려면
PngBitmapEncoder
개체를 만듭니다. - 인코더에 비트맵 프레임을 추가합니다.
- 인코딩된 이미지를 파일 스트림에 저장합니다.
아래 코드 조각을 복사하여 기본 파일에 붙여넣고 프로그램을 실행하세요.
.heic 컬렉션을 .png 파일 세트로 변환
using (var fs = new FileStream("filename.heic", FileMode.Open))
{
HeicImage image = HeicImage.Load(fs);
foreach (var key in image.Frames.Keys)
{
var width = (int)image.Frames[key].Width;
var height = (int)image.Frames[key].Height;
var pixels = image.Frames[key].GetByteArray(FileFormat.Heic.Decoder.PixelFormat.Bgra32);
var wbitmap = new WriteableBitmap(width, height, 72, 72, PixelFormats.Bgra32, null);
var rect = new Int32Rect(0, 0, width, height);
wbitmap.WritePixels(rect, pixels, 4 * width, 0);
using FileStream saveStream = new FileStream("output"+key+".png", FileMode.OpenOrCreate);
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(wbitmap));
encoder.Save(saveStream);
}
}
FileFormat.HEIC는 직관적인 API, 포괄적인 형식 지원, C# 애플리케이션과의 원활한 통합을 제공하여 개발자와 사용자 모두 HEIC 파일을 쉽게 관리할 수 있도록 지원합니다. 웹용으로 HEIC 파일을 변환하든, iPhone 사진을 PC에 보관하든, 다양한 플랫폼에서 공유하든 FileFormat.HEIC는 프로세스를 단순화하여 모든 단계에서 최적의 효율성과 품질을 보장합니다.
저희 GitHub 저장소를 탐색하여 이 오픈 소스 API에 기여하고, 개선 사항을 제안하고, 강화하세요. FileFormat.HEIC -.NET용