AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Die Renderauflösung kann man je nach grösse der Ausgabe verändern was auf dem PC auch sehr gut klappt. Auf dem Android mit 308x180 rendering welches in 616x360 angezeigt wird (also quasi 2x vergrössert) sieht das leider sehr "matschig" aus :/ Freundliche Grüsse |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Aber das liegt doch nur an der Interpolation.
Erzeuge doch gleich in der Zielauflösung das Klötzchen-Bild! Oder du guckst dir mal den TCanvasGpu an und den dahinterliegenden Context, vielleicht kann man ja doch irgendwo den Interpolationsmodus einstellen. Dann entsprechend anpassen und die veränderten Units zum Projekt hinzufügen und den modifierten Canvas registrieren. |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Ich kenne mich mit FireMonkey noch nicht wirklich aus, aber eine ganz dumme Idee: Was ist denn einen
Delphi-Quellcode:
auf das Bild zu legen? Über
TPixelateEffect
Delphi-Quellcode:
kann man die Verpixelung einstellen...
BlockSize
Klar, es ist unnötig das Bild erst hoch-zuinterpolieren um es dann wieder künstlich zu verpixeln, aber besser eine Notlösung als gar keine... |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Zitat:
Zitat:
Zitat:
Hab noch keine tests machen können aber als Not-Lösung wäre es bestimmt geeignet falls ich nichts anderes finde. :thumb: Freundliche Grüsse |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Zitat:
http://docwiki.embarcadero.com/RADSt..._Image_Effects |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Zitat:
Weisst du gerade züfällig ob es möglich ist diese Effekte auf z.B. ein TBitmap anwenden kann und dann ein TCanvas oder TBitmap zurückbekommen kann? Also ohne das man diese nur zwingend mit Controls anwenden kann. Freundliche Grüsse |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Zitat:
Die sieht so aus:
Delphi-Quellcode:
Aufruf wäre dann z.B. so:
function ImgByFilter(bm: TBitmap; FilterName: string): TBitmap;
var bmold: TBitmap; Filter: FMX.Filter.TFilter; begin Filter := TFilterManager.FilterByName(FilterName); if Filter <> nil then begin bmold := TBitmap.Create (0,0); bmOld.Assign(bm); // set input Filter.ValuesAsBitmap['Input'] := bmOld; // set Target only for transition Filter.ValuesAsBitmap['Target'] := bm; // apply and get result Result := Filter.ValuesAsBitmap['output']; bmOld.Free; end; end;
Delphi-Quellcode:
Hatte darauf hingewiesen, dass es nur ein Beispiel ist, für den direkten Abruf von Parameterlosen Filtern / Effekten.
MyResultBitmap.assign (ImgByFilter (SourceBitmap, 'Pixelate'));
// oder, wenn das Original verändert werden soll // auch "MyBitmap.assign (ImgByFilter (MyBitmap, 'Pixelate'));" Wenn Du z.B. noch beim Pixelate-Effekt den Blockcount-Wert berücksichtigen willst, könntest Du die Prozedur mit entsprechenden Parameter-Einträgen ergänzen. In der Procedure könntest Du vor der Zuweisung dann z.B. das wie folgt ergänzen:
Delphi-Quellcode:
Edit: Ach ja, die Units FMX.Filter und FMX.Filter.Standard müssen manuell eingebunden werden, sonst werden nicht alle Filter gefunden.
if FilterName = 'Pixelate' then begin
Filter.ValuesAsFloat['BlockCount'] := BlockCountPara; // z.B. 30 end; |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Vielen Dank Harry, das ist genau das was ich gemeint habe.
Funktioniert perfekt! :thumb: Freundliche Grüsse |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Prima, das freut mich.
Übrigens, das Bildchen in Beitrag Nr. 11 und der Hinweis, dass es um Spieleentwicklung geht, macht mich ein wenig neugierig: Mich würde interessieren, verwendest Du da nur FMX-3D-Objekte und Standards oder nutzt Du auch Low Level Routinen z.B. aus der OpenGL Api? |
AW: DrawBitmap Pixelated mit Firemonkey unter Android/GPUCanvas
Zitat:
Ich habe Firemonkey 3D kurz probiert, war jedoch nicht wirklich davon überzeugt um es für ein Spiel zu verwenden... Vielleicht habe ich nicht lange genug damit rumgespielt um die Stärken darin zu sehen falls welche vorhanden sind. OpenGL würde ich gerne brauchen... Habe ich jedoch schon öfters mal probiert anzupacken, jedoch war es mir immer zu kompliziert und ich habe aufgegeben. Und wie das mit OpenGL ES aussieht weiss ich nicht, da müsste ich mich noch informieren wie das mit FMX und Cross-Platform-Unterstützung aussieht und was man damit eigentlich alles machen kann. Falls jemand dazu gute Links hat in denen man sich in FMX & OpenGL ES einarbeiten kann würde ich mich sehr freuen! :D Freundliche Grüsse |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz