|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
C++ reversare l'asse Y
qual'è l'api di windows responsabile?
vi prego, non proponetemi soluzioni algebrico-matematiche, ne ho già le tasche piene sto scrivendo un programma che di funzioni matematiche ne è pieno a bizzeffe ed un piccolo aiuto dalle API non può guastare grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Che io sappia non esiste
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non è che potresti spiegarmi meglio cosa intendi ?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
nel normale piano cartesiano, la direzione dell'asse delle X+ è verso destra e l'asse delle Y+ verso l'alto: significa che digitando Y=+200, dovrebbe venire disegnato un punto fuori dallo schermo
Nel mondo dell'informatica, l'asse delle X+ segue la regola del piano cartesiano mentre l'asse delle Y+ è diretto verso il basso (non ne ho mai compreso il motivo) ho trovato queste API ma non le ho mai usate SetMapMode(hDC, MM_ISOTROPIC); SetWindowExtEx(hDC, 64, 64, NULL); SetViewportExtEx(hDC, GetDeviceCaps(hDC, LOGPIXELSX), GetDeviceCaps(hDC, LOGPIXELSY), NULL); se già le conoscete: dite spero di essere stato chiaro |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
int SetMapMode(
HDC hdc, // handle to device context int fnMapMode // new mapping mode ); MM_LOMETRIC Each logical unit is mapped to 0.1 millimeter. Positive x is to the right; positive y is up. Comunque se vuoi continuare a lvaorare in pixel...ti basta una cosa del genere... Codice:
inline LONG _y(LONG y, HWND wnd = INVALID_HANDLE_VALUE) { static LONG clientHeight = 0; if(wnd != INVALID_HANDLE_VALUE) { RECT r; if(!GetClientRect(wnd, &r)) return -1; clientHeight = r.bottom - r.top; } return clientHeight - y; } |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quote:
![]() Ti avevo capito subito Misterix. Devi disegnare qualcosa in real-world? Se si ,te lo dico subito:ti conviene usare un componente.Perche prima o poi dovresti maneggiare zoom pan etc |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
anch'io concordo con l'uso dei componenti ma non sempre: finisci, a volte, per non approfondire gli argomenti.
Dopo aver dato fondo al Win32SDK, ho assemblato questo codice ma: funziona solo con windows NT; avessi letto prima le "Quick info" mi torna errore 120 chi ha tale SO, se vuole, provi morale: non so se è il metodo giusto leggo ora sul sito di Microsoft che sotto win2k funziona Codice:
HDC hDC; XFORM xForm; hDC = GetDC(Handle); if(!SetMapMode(hDC, MM_LOMETRIC)) return; xForm.eM11 = (FLOAT) -1.0; xForm.eM12 = (FLOAT) 0.0; xForm.eM21 = (FLOAT) 0.0; xForm.eM22 = (FLOAT) -1.0; xForm.eDx = (FLOAT) 0.0; xForm.eDy = (FLOAT) 0.0; if(!SetWorldTransform(hDC, &xForm)) // bla bla bla |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Codice:
LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); // Process any inserts in lpMsgBuf. // ... // Display the string. MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION ); // Free the buffer. LocalFree( lpMsgBuf ); |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
questo
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Oh che bello
![]() ![]() |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
per me è un messaggio di errore depistante
cmq, troverò un'altra strada: basta avere un pò di pazienza Ciao |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Come al solito cerchi una cosa e ne trovi un'altra...
E' il tuo giorno fortunato: http://www.visualcomponentlibrary.com/bcb/gdi/transform.htm Oh ma hai proprio culo! http://www.visualcomponentlibrary.com/bcb/gdi/gdicoord.htm statte buon... ![]() PS.Si l'ho detto...ho detto culo (V.Sgarbi) |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Quote:
vedi che scava scava qualcosa c'è? grazie verloc, domani ci dò un'occhiata molto da vicino ![]() alle volte un po di c@@@o non guasta ![]() |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Sappi però che usualmente non si disegna real-world in questo modo.
Lo so che fare le trasformazioni è un incubo,ma per capire le operazioni elementari devi andare al link delphi che ho postato ad un forumista sul 3D.Cerca nelle mie ultime risposte. In particolare devi vedere vedere l'esempio sul centroide di un poligono. http://homepages.borland.com/efg2lab/Graphics/index.html questo è l'esempio su come si trasforma. http://homepages.borland.com/efg2lab/Graphics/PolygonArea.ZIP |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Momentaneamente non ho necessità di elevate prestazioni del codice; grazie infinite per tutte le info che mi hai fornito sino ad ora
P.S. ho passato il tuo link ad un forum di BCB da me frequentato e mi hanno fatto i complimenti per la qualità di tale sito (veramente fantastico!!!) Tali complimenti li rigiro tutti a te in quanto il merito è esclusivamente tuo ![]() ottimo lavoro verloc!!!!! ![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quale forum? Bytamyn C?
Mi interessa! |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
trovato
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Quote:
purtroppo mi sono sbagliato, non ho trovato niente sto cercando di imitare la bacchetta magica di photoshop non è affatto banalissimo, ma sono sulla giusta strada |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:39.