문제

그래서 나는 metafile (EMF가 정확하기 위해)을 JPEG 또는 GIF로 변환하고 있습니다 (브라우저와 호환되는 한 중요하지 않음). GDI+ 에서이 작업을 수행하는 방법은 모르겠지만 여기에 파일을 저장하는 데 사용하는 방법이 있습니다.

Dim Img As System.Drawing.Imaging.Metafile = New System.Drawing.Imaging.Metafile(stream)
Img.Save(Server.MapPath("/FileName.gif"), System.Drawing.Imaging.ImageFormat.Gif)
도움이 되었습니까?

해결책

Bob Powel의 웹 사이트를 확인하십시오. 그는 gdi+ 물건의 메트릭 크랩 톤을 가지고 있습니다.이것은 특히 Trans Gif를위한 것입니다

다른 팁

내가 이해하는 것처럼 Metafile에는 배경에 대한 정보가 포함되어 있지 않습니다. 단순히 투명합니다.

간단한 작업은 원하는 색상을 단순히 배경으로 색칠하는 것입니다.

예를 들어 아래 코드는 원본 이미지와 동일한 크기의 비트 맵을 생성하고 배경을 흰색으로 그리운 다음 배경 위에 메타 플라이 이미지를 그립니다.

        Rectangle imageRect = new Rectangle(0, 0, originalImage.Width, originalImage.Height);
        Bitmap newImage = new Bitmap(originalImage.Width, originalImage.Height);
        Graphics g = Graphics.FromImage(newImage );
        g.FillRectangle(new SolidBrush(Color.White), imageRect);
        g.DrawImage(originalImage, new Point(0, 0));

내 이해는 알파 채널을 올바르게 번역하려면 대상 및 소스 이미지의 이미지 형식과 관련하여 프레임 워크에 정보를 제공해야한다는 것입니다.

구체적으로 색상 정보 : 픽셀 당 비트 및 픽셀 당 알파 또는 투명한 색상 또는 전체 이미지의 단일 알파 값이 있는지 여부.

그러나 이것이 VB (또는 그 문제에 대해 .NET에서)에서 어떻게 수행되는지 확실하지 않습니다. - 이러한 유형의 작업에 기본 C ++를 사용합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top