private void DoSearch(string s)
        {
            WebResponse response = null;
            string      can      = "";

            foreach (char ch in s)
            {
                int hex = ch;
                can += "%" + Convert.ToString(hex, 16);
            }
            try
            {
                // 使用 KingDraw 的 API 将 SMILES 转换为图片
                response = WebRequest.Create("http://baike.kingdraw.com/api/smilesToImage?smiles=" + can).GetResponse();
            }
            catch (Exception)
            {
                Height = 85;
                this.FindControl <Avalonia.Controls.Image>("img").IsVisible = false;
                this.FindControl <Button>("save").IsVisible    = false;
                this.FindControl <TextBlock>("err").IsVisible  = false;
                this.FindControl <TextBlock>("nerr").IsVisible = true;
                return;
            }
            try
            {
                Stream stream = response.GetResponseStream();
                System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
                bitmap  = new Bitmap(image);
                nbitmap = (Bitmap)bitmap.Clone();
                if (image.Width > Width - 20)
                {
                    bitmap = InfoWindow.ZoomImage(bitmap, (int)(image.Height * (Width - 20) / image.Width), (int)(Width - 20));
                }
                Color clr;
                for (int x = 0; x < bitmap.Width; ++x)
                {
                    for (int y = 0; y < bitmap.Height; ++y)
                    {
                        clr = bitmap.GetPixel(x, y);
                        bitmap.SetPixel(x, y, Color.FromArgb(Math.Max(40, 255 - clr.R), Math.Max(40, 255 - clr.G), Math.Max(40, 255 - clr.B)));
                    }
                }
                Stream str = new MemoryStream();
                bitmap.Save(str, ImageFormat.Png);
                str.Position = 0;
                Avalonia.Media.Imaging.Bitmap bitmap1 = new Avalonia.Media.Imaging.Bitmap(str);
                this.FindControl <Avalonia.Controls.Image>("img").Source = bitmap1;
                Height  = 50;
                Height += bitmap1.Size.Height + 50;
                this.FindControl <Avalonia.Controls.Image>("img").Height    = bitmap1.Size.Height;
                this.FindControl <Avalonia.Controls.Image>("img").Width     = bitmap1.Size.Width;
                this.FindControl <Avalonia.Controls.Image>("img").IsVisible = true;
                this.FindControl <Button>("save").IsVisible    = true;
                this.FindControl <TextBlock>("err").IsVisible  = false;
                this.FindControl <TextBlock>("nerr").IsVisible = false;
            } catch (Exception)
            {
                Height = 85;
                this.FindControl <Avalonia.Controls.Image>("img").IsVisible = false;
                this.FindControl <Button>("save").IsVisible    = false;
                this.FindControl <TextBlock>("err").IsVisible  = true;
                this.FindControl <TextBlock>("nerr").IsVisible = false;
            }
        }