Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
GetPixel und SetPixel um Längen geschlagen. 800 mal schneller
TheBrainiac
myCSharp.de - Member

Avatar #avatar-3152.png


Dabei seit:
Beiträge: 832
Herkunft: /dev/null

beantworten | zitieren | melden

Gute Klasse! Funzt auch als Beta prima! =)

Gruß, Christian.
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von TheBrainiac am .
There are 10 types of people in the world:
Those, who think they understand the binary system
Those who don't even have heard about it
And those who understand "Every base is base 10"
private Nachricht | Beiträge des Benutzers
TNDAri
myCSharp.de - Member

Avatar #avatar-2507.jpg


Dabei seit:
Beiträge: 139
Herkunft: Bremen

beantworten | zitieren | melden

GDI32 GetPixel und SetPixel sind ebenfalls so schnell
Dein Code ist aber super. Die ganzen Funktionen sind nicht neu und GDI32 hat sie schon alle intus, aber es mal vereinfachter für den faulen GDI+ programmierer zu machen find ich klasse
Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen
private Nachricht | Beiträge des Benutzers
nh2
myCSharp.de - Member



Dabei seit:
Beiträge: 10

beantworten | zitieren | melden

Super Sache, danke!
private Nachricht | Beiträge des Benutzers
kleine_eiche
myCSharp.de - Member



Dabei seit:
Beiträge: 25

beantworten | zitieren | melden

Ich bin auch eigentlich zufällig auf deine dll datei gestoßen. Funktioniert wirklich prima. Hab geanu so was für mein derzeitiges projekt gesucht, was für ein zufall! Falls deine Klasse schon verbessert worden ist, freu ich mich schon auf die neue dll

lg
Daniel
private Nachricht | Beiträge des Benutzers
Robertico
myCSharp.de - Member



Dabei seit:
Beiträge: 345

Themenstarter:

beantworten | zitieren | melden

Hallo kleine_eiche,

bin im Moment voll im Siedler 6 - Wahn.

Danach gehts weiter.

Gruß Robert
private Nachricht | Beiträge des Benutzers
phipu
myCSharp.de - Member



Dabei seit:
Beiträge: 20

beantworten | zitieren | melden

Ich konnte den Code für mein Projekt auch benutzen. Danke.
Das ganze verwendete ich mit einem 1Bpp Bitmap.
Es funktionierte aber nicht als ich ein Bild verwendet habe, welches im Stride kein Padding hatte (Breite durch 8 teilbar).
Das Problem konnte ich lösen, indem ich in der Methode Format1BppIndexed unterhalb von

  int rest = width % 8;
folgenden Code anhängte

if (rest == 0)
    rest = 8;

Ich hab nicht die dll benutzt, sondern den Code für mein Projekt angepasst. Vielleicht habe ich dabei einen Fehler gemacht und die dll ist nicht betroffen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von phipu am .
private Nachricht | Beiträge des Benutzers
mutzu2210
myCSharp.de - Member



Dabei seit:
Beiträge: 2
Herkunft: Tübingen

Aktueller denn je... :-)

beantworten | zitieren | melden

Hallo miteinander,

auch wenn dieser Beitrag schon älter als zwei Jahre ist und schon ne Weile niemand mehr darauf geantwortet hat, ist er für mich aktueller denn je... :-)

Ich hab sehr große Performance-Probleme in einem zeitkritischen C#-Programm durch das langsame getpixel und setpixel, weshalb ich sehr froh war diese Klasse hier zu finden. :-) Nur leider ist bei mir das Image der RoBitmap immer leer! Liegt das an dem Format8BppIndexed-Format meiner Bilder? Wenn ja, gibt es schon eine aktuellere Version um deren Berarbeitung zu ermöglichen?

Ich hab mir die Klasse schon angeschaut, fühl mich aber selber nicht fit genug um da was zu implementieren... :-)


Ich würde mich sehr über eine Antwort freuen!


Viele Grüße

Micha
private Nachricht | Beiträge des Benutzers
Robertico
myCSharp.de - Member



Dabei seit:
Beiträge: 345

Themenstarter:

beantworten | zitieren | melden

Hallo mutzu2210,

in der Tat ist es schon lange her. Habe im Moment auch keine Zeit mich groß damit zu beschäftigen.

Was ich tun kann, ist dir meine aktuelle Version hochzuladen. An der habe ich immer wieder etwas gemacht.

Vielleicht hilfts.

Gruß Robert
Attachments
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7528
Herkunft: Waidring

beantworten | zitieren | melden

Hallo,

hab den Code kurz überflogen und festgestellt dass sich die Schleifen für die Matrixmanipulaiton sehr gut parallelisieren lassen. Das könnte die Ausführungsgeschwinidigkeit (bei einem Mehrkern-Rechner) noch steigern.


mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
sl1ce
myCSharp.de - Member



Dabei seit:
Beiträge: 5

beantworten | zitieren | melden

danke erstmal für den code!

ich habe allerdings ein problem: wenn ich setpixel für eine monochrome bitmap verwenden möchte, funktioniert das ganze nicht. weiss jemand woran das liegen könnte?
getpixel gibt ganz normale Argb werte für schwarz bzw weiss zurück, also habe ich diese palette auch bei setpixel benutzt. das bild bleibt aber unverändert
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von sl1ce am .
private Nachricht | Beiträge des Benutzers