Ответы пользователя по тегу C#
  • Как растянуть картинку сохранив ее пропорции C#?

    @estry Автор вопроса
    Вот такой код работает как мне надо:
    public static System.Drawing.Image FixedSize(Image image, int Width, int Height, bool needToFill)
            {
                #region calculations
                int sourceWidth = image.Width;
                int sourceHeight = image.Height;
                int sourceX = 0;
                int sourceY = 0;
                double destX = 0;
                double destY = 0;
    
                double nScale = 0;
                double nScaleW = 0;
                double nScaleH = 0;
    
                nScaleW = ((double)Width / (double)sourceWidth);
                nScaleH = ((double)Height / (double)sourceHeight);
                if (!needToFill)
                {
                    nScale = Math.Min(nScaleH, nScaleW);
                }
                else
                {
                    nScale = Math.Max(nScaleH, nScaleW);
                    destY = (Height - sourceHeight * nScale) / 2;
                    destX = (Width - sourceWidth * nScale) / 2;
                }
    
                if (nScale > 1)
                    nScale = 1;
    
                int destWidth = (int)Math.Round(sourceWidth * nScale);
                int destHeight = (int)Math.Round(sourceHeight * nScale);
                #endregion
    
                System.Drawing.Bitmap bmPhoto = null;
                try
                {
                    bmPhoto = new System.Drawing.Bitmap(destWidth + (int)Math.Round(2 * destX), destHeight + (int)Math.Round(2 * destY));
                }
                catch (Exception ex)
                {
                    throw new ApplicationException(string.Format("destWidth:{0}, destX:{1}, destHeight:{2}, desxtY:{3}, Width:{4}, Height:{5}",
                        destWidth, destX, destHeight, destY, Width, Height), ex);
                }
                using (System.Drawing.Graphics grPhoto = System.Drawing.Graphics.FromImage(bmPhoto))
                {
                    grPhoto.InterpolationMode = InterpolationMode.HighQualityBicubic;
                    grPhoto.CompositingQuality = CompositingQuality.HighQuality;
                    grPhoto.SmoothingMode = SmoothingMode.HighQuality;
    
                    Rectangle to = new System.Drawing.Rectangle((int)Math.Round(destX), (int)Math.Round(destY), destWidth, destHeight);
                    Rectangle from = new System.Drawing.Rectangle(sourceX, sourceY, sourceWidth, sourceHeight);
                    //Console.WriteLine("From: " + from.ToString());
                    //Console.WriteLine("To: " + to.ToString());
                    grPhoto.DrawImage(image, to, from, System.Drawing.GraphicsUnit.Pixel);
                    //bmPhoto.Save(@"D:\final1.jpg");
                    return bmPhoto;
                }
            }
    Ответ написан
    Комментировать
  • Как выпарсить дату C#?

    @estry Автор вопроса
    Решил вот так
    string date = "03.09.2020 5:00:00";
    DateTime dt;
    if (DateTime.TryParse(date, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.None, out dt))
    {
    }
    Ответ написан
    Комментировать
  • Как составить запроc SQLITE с DateTime?

    @estry Автор вопроса
    Е-мое. Надо вот так
    SELECT * FROM table WHERE (dateStart <= datetime('2020-08-24 08:00:00'))

    Всем спасибо. Разобрался
    Ответ написан
    Комментировать