Alternatywa do PictureBox'ów

0

Panie, panowie, witam serdecznie ;).

Piszę z prośbą o wsparcie, bo zarówno moja wena twórcza jak i zasoby google są już na wyczerpaniu ;). W dużym skrócie, tworzę pracę magisterską, której przedmiotem jest aplikacja tworzące pewnego rodzaju diagramy/wykresy. Grafika z wynikami zapisywana jest na dysku (w dowolnym formacie). Konieczne jest jej wyświetlenie na formie (C#; standardowe Windows Forms), lecz... tu pojawia się pewien problem.

Straciłem kilka wieczorów na męczenie się z PictureBox'ami. Do wygodnego przeglądania wyników pracy konieczna jest opcja zoom. Rozwiązałem to dodając scroole na macierzystym panelu i ustawiając autosize'a. Następnie uznałem że wygodne jest przewijanie obrazu (tzw Pan'owanie obrazu). Dodałem więc do mojego picturebox'a opcję kliknięcia na rolkę myszki i przewijania obrazu zgodnie z ruchem kursora. Niestety, nadal brakuje mi paru innych funkcjonalności uprzyjemniających przeglądanie obrazów (choćby zoomownanie do wskazanej lokalizacji, zaznaczanie fragmentów grafiki itp itd). Generalnie wszystko można oprogramować, ale zaczynam dochodzić do wniosku że parokroć więcej czasu poświęcam na gadżet wyświetlający grafikę niż na samą magisterkę. Czas nagli. Wakacje w pełni a promotor atakuje... Hmmm...

Może doradzicie studentowi jakiś gotowy komponent do wyświetlania grafiki na WinForms? ;). Z moich poszukiwań wygrzebałem jedynie komercyjne, płatne/trialowe komponenty których nie chce stosować w tym projekcie... Macie może jakieś gotowe UserControls, może jakieś dll'ki którymi moglibyście się podzielić? Bardzo proszę Was o wsparcie ;).

0

Wykresy można tworzyć przy użyciu kontrolki MSChart albo ZedGraph, może one będą lepsze dla Ciebie?

0
somekind napisał(a)

Wykresy można tworzyć przy użyciu kontrolki MSChart albo ZedGraph, może one będą lepsze dla Ciebie?

Dziękuję za odpowiedź. Sprawdziłem przed momentem obie kontrolki. Bardzo ciekawa sprawa, natomiast nie wspierają one diagramów drzewiastych (a w zdecydowanej większości przypadków z takimi mam do czynienia w projekcie). Próbowałem już wcześniej wykorzystać WPFa osadzanego na WinFormie wraz z kontrolką GraphSharp. Dość silne narzędzie do dynamicznego diagramowania danych. Niestety po paru rewizjach musiałem wyciąć to z projektu (utrzymanie WPFa/XAMLa zjadało większość czasu jaki mogłem poświęcić na projekt).

Ostetecznie zdecydowałem się oprzeć generowane diagramy na GraphVizie (darmowa aplikacja generująca grafikę z pseudokodu diagramów). Niestety... nadal brakuje sensownej kontrolki (lub darmowego COM'a) do wyświetlenia i nawigacji PNG/JPEG ;). @somekind, dziękuję za pomoc. Niestety, pytanie o kontrolki wyświetlające grafikę (kontrolki WinForms bądź COMowe) pozostaje nadal **otwarte **;).

0

A przeszukałeś już CodeProject? Tam pewno są jakieś ulepszone PictureBoxy, może któryś spełniłby Twoje wymagania.

0
somekind napisał(a)

A przeszukałeś już CodeProject? Tam pewno są jakieś ulepszone PictureBoxy, może któryś spełniłby Twoje wymagania.

Czy Ty mnie obrażasz? :P :D

Na CP znalazłem faktycznie demka z projektami customowych PictureBoxów. Na ich wzorze zbudowałem PictureBoxa z opcją zoomowania i przesuwania obrazu. Brakuje nadal zaawansowanego zooma, antyaliasingu, kopiowania fragmentów do schowka i innych przydatnych gadżetów przydatnych przy analizie obrazu. Wyceniam to na dobre 4-5 wieczorów przy niskiej jakości kodu. Chwilowo nie stać mnie na to ;]. Nadal liczę że ktoś ma odłożonego na boku CustromKontrolkę lub pomysł na darmowego COMa ;). Wole poświęcić tych 4-5 dni na rozwój samej merytoryki magisterki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1