コード例 #1
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private Line GetLineForProject()
        {
            PointF p1 = UtilsModel.ConvertToGraph(selectedAxe.Line.P1, rectLimit.Width, rectLimit.Location.X);
            PointF p2 = UtilsModel.ConvertToGraph(selectedAxe.Line.P2, rectLimit.Width, rectLimit.Location.X);

            return(Line.GetLine(p1, p2));
        }
コード例 #2
0
        //[ChildActionOnly]
        public PartialViewResult Utils(int photoId)//string photoPath)
        {
            string base64String = "";

            try
            {
                Photo photo = db.Photos.Where(c => c.EntryNo == photoId).FirstOrDefault();
                if (photo == null)
                {
                    return(PartialView());
                }

                base64String = GetBase64Image(photo.FilePath);
            }
            catch (Exception ex)
            {
            }
            //var bytes = File.ReadAllBytes(HttpContext.Current.Server.MapPath(MusicCollector.Properties.Resources.PHOTO_PATH + " / " + photoPath));

            // Get some config settings etc here and make a view model
            var model = new UtilsModel
            {
                ImagesPath   = base64String,
                PhotoEntryNo = photoId
                               //ImagesPath = @"..\..\..\App_Data\MusicPhotos\4\Vader_ - _De_Profundis.jpg"
                               //ImagesPath = Server.MapPath(@"~\App_Data\MusicPhotos\4\Vader_-_De_Profundis.jpg")
                               //ImagesPath = Server.MapPath(MusicCollector.Properties.Resources.PHOTO_PATH +" / "+ photoPath)
                               //ImagesPath = "../../../MusicPhotos"+photoPath
            };

            return(PartialView(model));
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private float GetValue(PointF pointProject)
        {
            PointF origin = this.selectedAxe.Line.P1;
            PointF xtm = this.selectedAxe.Line.P2;
            float  a = UtilsModel.LineLength(origin, xtm), b = this.selectedAxe.UpperX, c = UtilsModel.LineLength(origin, pointProject);

            return(UtilsModel.RuleOfThree(a, b, c));
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private void PaintSegments(PaintEventArgs e)
        {
            Pen pen = new Pen(ColorTranslator.FromHtml("#c6c6c6"));

            foreach (Axe axe in axes)
            {
                axe.Line = UtilsModel.FindSegment(axe, rectLimit);
                e.Graphics.DrawLine(pen, axe.Line.P1, axe.Line.P2);
            }
        }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private LineProject GetLineProject(MouseEventArgs e)
        {
            PointF mousePos   = UtilsModel.InvertFromGraph(new PointF(e.X, e.Y), 0, rectLimit.Location.X);
            PointF graphMouse = UtilsModel.ConvertToGraph(mousePos, rectLimit.Width, rectLimit.Location.X);

            float  length   = UtilsModel.LineLength(selectedAxe.Line.P1, selectedAxe.Line.P2);
            PointF xtm      = UtilsModel.CalculateCurrPoint(length, selectedAxe.Angle, rectLimit.Width, rectLimit.Location.X);
            PointF graphXtm = UtilsModel.ConvertToGraph(xtm, rectLimit.Width, rectLimit.Location.X);

            float a = graphXtm.X, b = graphXtm.Y, c = -1 * ((graphXtm.X * graphMouse.X) + (graphXtm.Y * graphMouse.Y));

            return(new LineProject(a, b, c));
        }
コード例 #6
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private void PaintCurr(PaintEventArgs e)
        {
            List <PointF> peaks = new List <PointF>();

            Pen pen = new Pen(ColorTranslator.FromHtml("#cf7b1f"));

            foreach (Axe axe in axes)
            {
                float  length = UtilsModel.RuleOfThree(axe.UpperX, UtilsModel.LineLength(axe.Line.P1, axe.Line.P2), axe.CurrValue);
                PointF tmp    = UtilsModel.CalculateCurrPoint(length, axe.Angle, rectLimit.Width, rectLimit.Location.X);
                peaks.Add(tmp);
            }
            e.Graphics.DrawPolygon(pen, peaks.ToArray());
        }
コード例 #7
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private void PaintCmp(PaintEventArgs e)
        {
            List <PointF> peaks = new List <PointF>();

            Brush pen = new SolidBrush(ColorTranslator.FromHtml("#d2d6d0"));

            foreach (Axe axe in axesCmp)
            {
                Axe    vrai       = this.FindAxe(axe);
                float  lineLength = UtilsModel.LineLength(vrai.Line.P1, vrai.Line.P2);
                float  length     = UtilsModel.RuleOfThree(axe.UpperX, lineLength, axe.CurrValue);
                PointF tmp        = UtilsModel.CalculateCurrPoint(length, vrai.Angle, rectLimit.Width, rectLimit.Location.X);
                peaks.Add(tmp);
            }
            e.Graphics.FillPolygon(pen, peaks.ToArray());
        }
コード例 #8
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private PointF FindPointProject(MouseEventArgs e)
        {
            PointF result = new PointF();

            if (!this.selectedAxe.Line.IsVertical())
            {
                LineProject projection     = this.GetLineProject(e);
                Line        lineForProject = this.GetLineForProject();

                float x = (-1 * (lineForProject.B + projection.C)) / (projection.A + projection.B * lineForProject.A);
                float y = lineForProject.A * x + lineForProject.B;

                result = UtilsModel.InvertFromGraph(new PointF(x, y), rectLimit.Width, rectLimit.Location.X);
            }
            else
            {
                PointF mousePos = UtilsModel.InvertFromGraph(new PointF(e.X, e.Y), 0, rectLimit.Location.X);
                result.X = this.selectedAxe.Line.P1.X;
                result.Y = mousePos.Y;
            } return(result);
        }
コード例 #9
0
ファイル: MainForm.cs プロジェクト: GimmyR/Medical-Analysis
        private void DragAndDrop_MouseDown(object sender, MouseEventArgs e)
        {
            PointF mousePos = UtilsModel.InvertFromGraph(new PointF(e.X, e.Y), 0, rectLimit.Location.X);

            foreach (Axe axe in axes)
            {
                float  length   = UtilsModel.RuleOfThree(axe.UpperX, UtilsModel.LineLength(axe.Line.P1, axe.Line.P2), axe.CurrValue);
                PointF tmp      = UtilsModel.CalculateCurrPoint(length, axe.Angle, rectLimit.Width, rectLimit.Location.X);
                float  distance = UtilsModel.LineLength(mousePos, tmp);
                if (distance <= 10)
                {
                    this.selectedAxe    = axe;
                    this.textAxe.Text   = this.selectedAxe.Name;
                    this.valeurAxe.Text = this.selectedAxe.CurrValue + "";
                    this.uniteAxe.Text  = this.selectedAxe.Unit;
                    showSimilaire       = false;
                    axesSimilsaires     = null;
                    break;
                }
            }
        }