示例#1
0
        public AvatarFileEngine(string uri)
        {
            // uri begins with "avatar:/"
            m_AvatarHash = uri.Substring(8);

            QPixmap pixmap = (QPixmap)Synapse.Xmpp.AvatarManager.GetAvatar(m_AvatarHash);

            // FIXME: This doesn't seem very efficient...
            QBuffer buffer = new QBuffer();

            buffer.Open((uint)QIODevice.OpenModeFlag.WriteOnly);
            pixmap.Save(buffer, "PNG");
            buffer.Close();

            m_Buffer = new byte[buffer.Size()];
            Marshal.Copy(buffer.Data().Data().ToIntPtr(), m_Buffer, 0, m_Buffer.Length);
        }