public void RenderRgb24(byte[] frameRgb24) { // convert rgb24 to rgb565 var frame565 = ImageUtil.ConvertToRgb565(DmdWidth, DmdHeight, frameRgb24); // split into planes to send over the wire var newFrame = new byte[DmdHeight * DmdWidth * 3 / 2]; FrameUtil.SplitIntoRgbPlanes(frame565, DmdWidth, 16, newFrame, ColorMatrix); // copy to frame buffer var changed = FrameUtil.Copy(newFrame, _frameBuffer, 1); // send to device if changed if (changed) { RenderRaw(_frameBuffer); } }