Powiedzmy że guag może przybierać wartości od 0 do 180 (kąty w stopniach). Później przerabiasz to na radiany. Następnie obliczas wartośc x i y z sinusa i cosinusa kąta znając promień (czyli to co chesz rysować - ramię). ramie:= 100; rad:=stopnie*3,14/180; dx:=ramie*cos(rad); dy:=ramie*sin(rad); mając X,Y punktu początkowego...
Rzeczywiście, TImage i canvas są w tym przypadku niezastąpione. http://obrazki.elektroda.net/46_12614902... procedure TForm1.Button1Click(Sender: TObject); var x : integer; step , y : real; begin image1.Canvas.Pen.Width:=1; image1.Canvas.Pen.Color:=clblack; image1.Canvas.MoveTo(0,(Image1.H... div 2));...
Jak w Delphi (TChart, TeeChart VCL) dodać obrazek na wykresie i wykryć kliknięcie (OnClick)? Przykłady: Canvas, TImage, TImageTool, test trafienia, obsługa zdarzeń.
Mam zapisane wartości funkcji w tablicy np. tab Umiesz rysować linie? Ja trochę nie pamiętam jak się to robiło... ale chyba były to funkcję na Canvas typu MoveTo(x, y); oraz LineTo(x,y); Więc musisz stworzyć pętle typu: for x:=1 to 199 do begin Obiekt.Canvas.MoveTo(x, tab[x]); Obiekt.Canvas.LineTo(x+1, tab[x+1]);...
Canvas.OutTextXY(10, 20, "tekst");
Ja nie zrozumałem. Image1->Canvas->Pixels Dodano po 16 Podaj jakis przykład wtedy nawet ja w innym stanie (nie jestem kobietą) zrozumiem.
Może nie całkiem na temat ale w jakim komponencie da się rysować dynamicznie w delphi bo gdyby zrobić krzywą smoka toby to nawet ładne było i jeszcze wrzucić jakiś timer żeby widać było na bieżąco jak się krzywa maluje :D
Canvas.CopyRect; Canvas.Draw.
1. Metody LineTo i MoveTo Canvy bądź z WinAPI. 2. Poprzez własność Pixels[] canvy, bądź metodę PutPixel z WinAPI. 3. Zależy jakiego typu ma być krzywa. Najbardziej elastyczną są Krzywe Beziera, które można rysować wykorzystując gotowe metody (także w WinAPI). Parametry polecenia Arc są opisane w pliku pomocy.
Użyj przed rysowaniem Lock dla kanwy, a po rysowaniu uwolnij ją. Co do Synchronize - musi ona być wywoływana zawsze z danego wątku, a ten zapis co przedstawiłeś nie do końca wskazuje na to.
Przykład czegoś takiego można odnaleźć choćby w komponentach "stylu XP", gdzie menu są rysowane ręcznie. Ze względu na fakt, że w WinAPI zajęłoby to jeszcze więcej kodu, zaś kodu z C++ pod ręką nie mam, podaję kod Delphi: {**********************************... { } { Borland Delphi Visual Component Library...
pisz trochę jaśniej... co dokładnie "nie działa" do listy uses dopisz moduł System, jaką wersje delphi używasz ?
Może spróbuj tak: with Image1.Canvas do begin Brush.Color:=clWhite; //Kolor dowolny , taki przyjmie Kanwa. FillRect(ClipRect); end;
Zamiast przypisania spróbuj użyć metody Assign . A najpewniej jest wykorzystać metodę Draw Canvy docelowej.
Witam... Nie wiem czy delphi 7 ma komponent do wykresow (zalezy jeszcze od wersji) ale najwygodniej by bylo posluzyc sie wlasnie takim komponentem(Builder 6 taki ma). Poszukaj na www.4programmers.net. Jesli nie znajdziesz to mozesz rysowac po Form poprzez Canvas (Form1->Canvas...) Inne komponenty tez maja wlasciwosc canvas jednak nie wszystkie. Bedziesz...
Witam!! W delphi nie siedze zbyt dużo, powstał już jednak dość zaawansowany jak na moje potrzeby program, potrzebuje jeszcze wykonać w nim coś takiego jak w centralnej części na filmiku http://www.lynxmotion.com/images/video/r... . Najlepiej żeby udało się to zrobić za pomocą instrukcji canvas czy paintboxa. Mam powerdrawa ale używam go już...
Witam Pracuję nad programem obrazującym stan procesu przemysłowego, programowanie w delphi nie idzie mi (jeszcze ;) ) najlepiej i proszę o kilka porad: Potrzebuję umiścić prostą grafikę na formie - coś podobnego jak na obrazku: http://obrazki.elektroda.net/11_11985834... W grafice muszę mieć możliwość: - sterowania kolorem wypełnienia, - wielkością...
Nie za wiele mi to pomaga, ponieważ wykres muszę mieć w komponencie Tchart podstawiam tam dane na x i y i rysuje mi strasznie kanciasty wykres a muszę mieć parabole i teraz czy bez zwiększania liczby danych da się coś takiego osiągnąć za pomocą jakiegoś polecenia? Canvas nie wchodzi w gre.
No niestety delphi nie obsługuje PCX - jednak istnieją komponenty i/lub biblioteki które taką obsługę dokładają. Później masz dostęp (zazwyczaj) przez canvas i możesz kopiować --> z zapisem nie będzie problemu. Jeśli chodzi o te komponenty to ja kiedyś używałem DevIL (OpenIL) darmowa biblioteka która obsługuje troche formatów - ale robiłem przeglądarke...
OK, rozumiem zatem, że to wymaga testów i arbitralnego ustalenia, tak? Nie ma jakiejś funkcji w samym Delphi albo czegoś co pozwoliłoby na ustalenie optimum? Chodzi mi o coś co pozwoli mi na przydzielenie innej ilości wątków w przypadku jednordzeniowych procesorów... Jak to sprawdzać w programie a nie w ustaleniach użytkownika? I teraz druga rzecz:...
Witam. Możesz to zrobić na standardowym komponencie Delphi jakim jest PaintBox. Jest to komponent po którym można malować ( stawiać poszczególne pixele, linie, proste figury geometryczne ) Wszystko odbywa się na obiekcie Canvas ( czyli np. PaintBox1.Canva.Pixel[10,20]=clBlack - stawia pixel koloru czarnego w punkt o współrzędnych 10,20 , w analogiczny...
Witam wszystkich otóż piszę na zaliczenie program zegar analogowy nie powiem bo także przy pomocy internetu i w pewnym momencie stanąłem niby zegar działa ale... Właśnie wskazówki zmieniają długo przy zmianie godziny minuty wszystko zapewne przez funkcji Canvas.LineTo tylko nie wiem czy to można jakoś zastąpić i nie wiem jaką funkcję napisać aby dobrze...
Canvas.Draw('D:\Documents and Settings\krzys\Pulpit\Moje obrazy\domek.bmp'); Tak nie można :> Draw(X, Y, Bitmap); Więc... Bitmap.loadFromFile('d:\doc........ Canvas.Draw(0,0,Bitmap);
Sugeruję zapoznanie się z tym tematem : [url=http://www.elektroda.pl/rtvforum/to... 7 - rysowanie wykresów
Witam czy jest jakiś sposób na wymazywanie pojedynczych linii w PaintBoxie czy tylko zostaje zakolorowanie na biało linii Do tej pory wyglądało to tak [syntax=delphi] PaintBox1.Canvas.Clear; PaintBox1.Canvas.Pen.Color:=clBlue; PaintBox1.Canvas.LineTo(70,120+TrackBar1... PaintBox1.Canvas.LineTo(70,120); [/syntax] Niestety mam kilka lini naraz...
DZIAŁA :D Dziękuję bardzo! Przy okazji - dzięki temu zrozumiałem też nadpisywanie Events. Jakby ktoś szukał, to zostawiam w wątku dodatkowo: http://pl.wikibooks.org/wiki/Delphi/Canv... http://delphi.clockwork-bits.pl/Pytania/...
lineto() - laczy ci linie od punktu w ktorym aktualnie jest ustawiony wskaznik poczatku do punktu o wspolrzednych podanych jako parametry funkcji, czyli linie laczy ci razem, bo na koncu ostatniej znajduje sie aktualny wskaznik od ktorego ma zaczynac rysowanie przyklad przyklad Image1.Canvas.LineTo(100,100); Image1.Canvas.LineTo(50,50);...
COLORREF GetPixel(HDC hdc, int XPos, int YPos); hdc:=Canvas.handle; //Delphi hdc=Canvas->Hnadle; //CPP
Żadnych sleepów! Timer ma swój interwał i on powinien tylko na przemian zapalać i gasić kursor. Możesz spokojnie zrobić (w kontekście Timera): if Tag=0 then Canvas.Pixels[]:=clBlack else Canvas.Pixels[]:=clWhite; Tag:=Tag xor 1;
Witam!! Moze moje pytanie jest banalne,ale się zapytam.. Narysowalem wykres na canvasie obiektu image.Teraz chce na tym samym canvasie narysowac inny wykres i tamten zmazac.Jak to zrobic?? Albo wyrysować wypełniony prostokąt/kwadrat na canvasie ale o wymiarach canvasu.
A tak próbowałeś ? [syntax=delphi]procedure TForm1.Button1Click(Sender: TObject); var BMP: TBitmap; begin BMP:=TBitmap.Create; with BMP,Canvas do begin Width:=100; Height:=100; PixelFormat:=pf1bit; Font.Name:='Calibri'; Font.Size:=20; TextOut(10,10,'Napis testowy'); SaveToFile('c:\aaa.bmp'); end; FreeAndNil(BMP); end; [/syntax]
Najczyściej w takim przypadku używa się :[syntax=delphi]Canvas.TextWidth('jakis tekst'); Canvas.TextHeight('jakis tekst');[/syntax] Podobna metoda istnieje w VBA : http://msdn.microsoft.com/en-us/library/... Więc może także w tym Basic4android?
Czemu sporo? with PaintBox.Canvas do begin Lock; //mażemy stare CopyRect(OldRect,Bmp.Canvas,OldRect&... //rysujemy nowe LineTo(x,y); Elipse(NewRect); Unlock; end; //i kopia do bitmapy: Bmp.Canvas.LineTo(x,y); Z kolei OnPaint: with PaintBox.Canvas do begin Lock; Draw(ClipRect,Bmp.Canvas.ClipRect... Unlock; end;...
Jak zakolorować trójkąt na zielono , a koło na żółto ? procedure TForm1.Button1Click(Sender: TObject); begin Canvas.Brush.Color:=clyellow; Canvas.Ellipse(200,200,350,50); Canvas.MoveTo(200,200); canvas.LineTo(350,200); Canvas.MoveTo(350,200); canvas.LineTo(350,50); Canvas.MoveTo(350,50); canvas.LineTo(200,50); Canvas.MoveTo(200,50); canvas.LineTo(200,200);...
Dzięki, ale szukam możliwości stworzenia i drukowania zawartości IMAGE bez zapisywania na dysku. Dodano po 10 Problem rozwiązany :) Printer.Canvas.Draw(0, 0, Image1.Picture.Graphic); Dzięki za zainteresowanie Pozdrawiam Puchała
Jest możliwe, żeby Printer.Canvas był "tylko do zapisu" ?
Zapomniałem jeszcze dodać, że w przedefiniowanej metodzie (override) jest: [syntax=delphi]Canvas.Brush.Color := clFuchsia; Picture.Bitmap.SetSize(_Width, _Height + 1); Canvas.FillRect(Rect(0, 0, _Width, _Height + 1));[/syntax]Dla czyszczenia zawartości przed ponownym malowaniem. Wszystkie takie jednostkowe obliczenia oczywiście wyrzuciłem przed pętle,...
Mam kolejne problemy... 1. Jak rysuję po PaintBox1.Canvas to mruga obraz mimo DoubleBuffered dla formy - pod XP niż nie mrugało. 2. Nie działa założenie hooka na klawiaturę :( //przechwytywanie klawiatury MainHook := SetWindowsHookEx(wh_JournalRecord, KeyHook, HInstance, 0); Post oddzieliłem. - arnoldziq
Użycie OpenGL/DirectX, czyli generalnie karty graficznej, która dokona wygładzenia. W czystym WinAPI możesz co najwyżej przeprowadzić próbkowanie i rozmyć krawędzie lub po prostu samemu wyliczyć punkty, które mają największy błąd zaokrąglenia i dodać tam dodatkowe piksele (dla prostych to sprawdzi się lepiej niż pierwsza z metod). [zobacz na https://stackoverflow.com/questions/3613...
Mam duży problem i nie wiem co z tym zrobić :cry: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ColorGrd, ExtDlgs; type TForm1 = class(TForm) Button1: TButton; PaintBox1: TPaintBox; ListBox1: TListBox; ListBox2: TListBox; ComboBox1: TComboBox;...
var DesktopBitmap: TBitmap; GetCol: TColor; begin DesktopBitmap := TBitmap.Create; with DesktopBitmap do begin Width := Screen.Width; Height := Screen.Height; end; BitBlt(DesktopBitmap.Canvas.Handle, 0,0,Screen.Width,Screen.Height, GetDC(GetDesktopWindow),0,0,SrcC... GetCol := DesktopBitmap.Canvas.Pixels[0,...
Po co pobierasz X i Y myszy z Mouse jak masz jak na tacy podane X i Y poprzez argumenty zdarzenia MouseMove ? Zobacz: procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X , Y : Integer); Wystarczy teraz wykonać: procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:=IntToStr(X);...
Witam Chciałem zapytać jak sobie poradzić z tym problemem w Delphi i rysowaniem po canvasie. Mianowicie robię takie rysowanie najpierw rysuje linie a na niej okrąg. Efekt jest taki ze po narysowaniu okręgu linia znajdująca sie w jego wnętrzu zostaje wymazana. Jeżeli najpierw narysuje okrąg a potem linie to jest ok linia jest cala i okrąg tez. Tak zapytuje...
Hm.. a w jakim języku ma być kod? najprostrza metoda do takiego rysowania to Canvas. zamalozać jednym kolorem (tło).. namalować przedziałki czas/napięcie. potem przestawić kursor malowania na pozycje (0,data niedołączam pliku exe .. same source..
Witam Pisze pewien program, ale zorientowałem się że się powoli gubię w kodzie dlatego chciałbym go sobie podzielić na mniejsze części już wykorzystałem biblioteki Dll ale z pewna rzeczą mam już kłopot, nie chciałbym przedstawiać całego programu żeby nie zaciemnić problemu pozwolę sie posłużyć przykładem. Dodam jeszcze że program jest związany z tworzeniem...
Czy to jest jedyny kod (pisany samemu) w programie?
procedure TForm1.Button1Click(Sender: TObject); begin if Printdialog1.Execute then try with printer do begin begindoc; chart1.PrintPartial(rect({4... canvas.Pen.Color:=clblue; canvas.Pen.Width:=1; canvas.Brush.Style:=bsclear; canvas.Rectangle(rect({45,7...
Uhhh tez dlugo szukalem haka na rysowanie bezposrednie na pulpicie a nie na okienkach jak to ma miejsce przy GetWindowDC(GetDesktopWindow) Ale wkoncu gdzies znalazlem. Uchwycic trzeba odpowiednio ProgMan'a to on pozwala na rysowanie takie jak ty potrzebujesz: function GetDesktopListViewHandle: THandle; var S: string; begin Result :=...
....dobrze że są tu tacy ludzie :) . Dziękuje o to mi chodziło. [syntax=delphi] st: string; begin st:=memo1.lines[memo1.CaretPos.Y]; label2.Left:= (canvas.TextWidth(st)); end; [/syntax]
na pewno nie układaj tyle komponentów bo nie dość że się komp zmuli konkretnie po tym programie, to Ty będziesz to pisał ze dwa lata...jak do każdego z ponad 30tys. komponentów chcesz napisać procedurkę....lol... Użyj TImage, masz tam onMouseDown (taki event) on wykrywa naciśnięcie klawisza myszki nad obszarem i pojade względne (lewy górny róg obrazka...
Witam! Jak korzystajac z Tchart zrobic na nim obszar (wielokat... no w najprostrzym przypadku jakis kwardat) ktoy mialby inny kolor niz pozostaly obszar wykresu ? ( chodzi o wizualne zaznaczenie dozwolonych wartosci... wszystko to co wychodzi poza byloby bledne...) ps. wolalbym uniknac malowania po canvas...
wykres canvas builder canvas javascript canvas
volvo silnika blokada kluczyka volvo volvo uszkodzone przewody
kenwood dnx7280bt sterowanie oszczędzaniem energii
Regulator temperatury Audi 80 B3 1.8S – budowa, działanie, typowe usterki FAUN śmieciarka DEFAULT RESET – jak usunąć komunikat na sterowniku zabudowy