From b66e3130dd4b05ec67b3d03e1ca48c0cea967e42 Mon Sep 17 00:00:00 2001 From: kyororay Date: Fri, 12 Sep 2025 00:58:32 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3:=20=E3=83=99=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E7=94=BB=E5=83=8F=E6=A4=9C=E7=B4=A2=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6=E3=80=81=E7=94=BB=E5=83=8F?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AE=E7=9B=B4=E5=89=8D=E3=81=AB?= =?UTF-8?q?=E3=81=82=E3=82=8B=E4=B8=8D=E8=A6=81=E3=81=AA=E3=83=91=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=83=B3=E3=82=B0=E3=82=92=E5=89=8A=E9=99=A4=E3=81=99?= =?UTF-8?q?=E3=82=8B=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArcFormats/Cyberworks/ImageTINK.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ArcFormats/Cyberworks/ImageTINK.cs b/ArcFormats/Cyberworks/ImageTINK.cs index 001f0b39..d5f00247 100644 --- a/ArcFormats/Cyberworks/ImageTINK.cs +++ b/ArcFormats/Cyberworks/ImageTINK.cs @@ -147,12 +147,18 @@ namespace GameRes.Formats.Cyberworks var size_buf = new byte[4]; input.Read (size_buf, 0 , 4); int png_size = BigEndian.ToInt32 (size_buf, 0); - BitmapSource frame; - // work-around for possible extra padding before PNG data - using (var membuf = new MemoryStream (png_size+4)) + + List mem_list; + using (var membuf = new MemoryStream()) + { + input.CopyTo(membuf); + mem_list = membuf.ToArray().ToList(); + mem_list.RemoveRange(0, mem_list.Count - png_size); + } + + BitmapSource frame; + using (var membuf = new MemoryStream(mem_list.ToArray())) { - input.CopyTo (membuf); - membuf.Seek (-png_size, SeekOrigin.End); var decoder = new PngBitmapDecoder (membuf, BitmapCreateOptions.None, BitmapCacheOption.OnLoad); frame = decoder.Frames[0];