• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z działaniem funkcjii setpixel

0 głosów
338 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez moldoveanu Nowicjusz (150 p.)

Witam, w projekcie na studiach muszę zrobić wczytywanie danych z pliku i rysowanie wykresu w konsolii. Jest to mój pierwszy kontakt z rysowaniem linii. Wczytywanie do tablicy mi działa,tylko dalej nie wiem co tam się dzieje i czemu to nie działa. Dane są z przedziału x=<0;1,570796> y=<1,000000;-0,998795>

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include<windows.h>
#include<conio.h>
using namespace std;
float liczba[64][2];
int main()
{
	ifstream plik;
	plik.open("Zad_B2.txt", ios::in);
	if (plik.good() == true)
	{
		for (int i = 0; i < 63; i++)
		{
			for (int j = 0; j < 2; j++)
			{
				plik >> liczba[i][j];
			}
		}
		plik.close();
		HWND myconsole = GetConsoleWindow();
		HDC mydc = GetDC(myconsole);
		int pixel = 0;
		COLORREF COLOR = RGB(255, 255, 0);
		for (int i = 0; i < 63; i += 1)
		{
		SetPixel(mydc, liczba[i][1], liczba[i][2], COLOR); //pixel w miejscu o współrzędnych. Nie działa
		}
		
	}
	return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 17 stycznia 2018 przez j23 Mędrzec (195,220 p.)
wybrane 17 stycznia 2018 przez moldoveanu
 
Najlepsza

Jeśli dane masz z tak małych przedziałów, to wypadałoby przemnożyć współrzędne x i y przez jakieś wartości. Teraz wszystko rysuje się w polu 2x2 piksele. y przyjmuje także wartości ujemne, więc musisz przesunąć wykres, bo w WinAPI zero wypada na górnej krawędzi okna.

 

PS. do rysowania użyłbym funkcji MoveToEx() i LineTo().

Podobne pytania

0 głosów
2 odpowiedzi 727 wizyt
pytanie zadane 15 czerwca 2022 w C i C++ przez MichaelM Gaduła (3,000 p.)
0 głosów
1 odpowiedź 836 wizyt
pytanie zadane 9 października 2017 w C i C++ przez amited Początkujący (470 p.)
0 głosów
2 odpowiedzi 3,467 wizyt
pytanie zadane 19 stycznia 2017 w C# przez kondzio11 Nowicjusz (160 p.)

93,776 zapytań

142,732 odpowiedzi

323,384 komentarzy

63,379 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...