How to draw geometries which has 'Tilling Color Fill Pattern' with GDI

I have a PDF file within which there are some polygons filled with
'Tilling Color Pattern'. I know how to retrieve the 'PatternColor'
object, but how to use this object and draw to canvas with GDI?

Note: The pattern displays blue, but the color I retrieved is always
black.
I retrieved the SDF object from 'PatternColor' as below:
{
/GS1 gs
q
32 0 0 -128 0 128 cm
/Im1 Do
Q
}
It seems the pattern cell is a masked image. How can I get the mask
image stream?

I would like to upload the PDF file to this thread for you, how to do?

If the element is filled with a pattern you can obtain if from the
GState:

GState gs = element.GetGState();
PatternColor pat = new PatternColor(is_fill ? gs.GetFillPattern() :
gs.GetStrokePattern());
PatternColor.Type type = pat.GetType();

if (type == PatternColor.Type.e_colored_tiling_pattern || type ==
PatternColor.Type.e_uncolored_tiling_pattern) {
  ...
}

You can open the pattern display list using
element_reader.PatternBegin() and close it with element_reader.End().
For example:

for (yi = yi0; yi < yi1; ++yi) {
  for (xi = xi0; xi < xi1; ++xi) {
     Save(gr);
      gr.TranslateTransform(xi*xstep, yi*ystep, MatrixOrderPrepend);
      init_pat_gs = mp_reader.PatternBegin(pat.GetSDFObj(), false);
      ProcessElements(gr);
      reader.End();
      Restore(gr);
   }
}

xstep/ystep and the pattern matrix can be optained from the pattern.