2017-12-09 16 views
2

documentation는 말한다 : 크기 조정 작업이 그렇지 않은 경우는 null를 수행 ​​ 될 수 있다면SkiaSharp.SKBitmap.Resize가 null을 반환하는 이유는 무엇입니까?

는 크기가 조정 된 비트 맵을 반환합니다.

분명히는 도움이되지 않습니다. 조금도. 최소한 열거 형/오류 코드/무엇이든 제공 할 수 있습니다.

그래서 나는 lib 디렉토리의 소스를 다운로드 SKBitmaps.resize 궁극적 회전에 SkiaApi.sk_bitmapscaler_resize 호출 SKPixmap.Resize, ...

를 호출하고 SkiaApi.sk_bitmapscaler_resizeextern(here)을 구현하기 때문에 즉, 도로의 종말 것을 발견했다.

그래서 (SkiaSharp가 얇은 래퍼이기 때문에) 실제 Skia을 다운로드하여이 방법이 실패하는 이유를 알아 냈습니다.

그러나 어떤 기능/방법 SkiaApi.sk_bitmapscaler_resize에 매핑되어 있는지 알 수 없습니다.

누군가가 매핑 된 기능을 말해 줄 수 있습니까? 또는 더 나은 방법은 때로는이 방법이 실패하는 이유는 무엇입니까?

답변

0

Google 코드가 다소 모호하기 때문에 SkiaSharp 문서가 제한적인 것입니다.

하지만 코드를 보면 소스 및 대상 색상 유형이 모두 32 비트 플랫폼 색상 유형 (Bgra8888 또는 Rgba888)이어야하는 것으로 보입니다.

픽셀 주소 (GetPixels())가 올바른지 확인하십시오 (null/IntPtr.Zero 아님).

마지막으로 대상 크기가 >= 1인지 확인하십시오.