By view point of parallelism, sometimes we access .png files by multiple
threads simultaneously. Current pngcs implementation prevents things from
working properly because OpenFileForReading method in FileHelper performs
Read/Write (calling FileStream(String, FileMode) constructor without passing
third argument; FileAccess, result in R/W access) and perform locks on files.
So, I propose applying the following patch on FileHelper.cs
- isx = new FileStream(file, FileMode.Open);
+ isx = new FileStream(file, FileMode.Open, FileAccess.Read);