Xojo Conferences
MBSSep2018MunichDE
XDCMay2019MiamiUSA

Bild in Canvas Backdrop (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Editfield mask funktioniert nicht mehr richtig
Next thread: Bild aus Canvas sichern


Probleme mit String Bearbeitung   -   Markus Schnell
  Bild in Canvas Backdrop   -   Stefan Sicurella
   Re: Bild in Canvas Backdrop   -   Stefan Mettenbrink
    Re: Bild in Canvas Backdrop   -   Andy Fuchs
     Re: Bild in Canvas Backdrop   -   Stefan Sicurella
      Re: Bild in Canvas Backdrop   -   Andy Fuchs
      Re: Bild in Canvas Backdrop   -   Stephan Stoske
      Re: Bild in Canvas Backdrop   -   Stefan Sicurella

Bild in Canvas Backdrop
Date: 25.06.07 11:16 (Mon, 25 Jun 2007 12:16:33 +0200)
From: Stefan Sicurella
Hi,

so, jetzt habe ich ein Bild im Canvas, aber sobald das Fenster
überlagert wird oder vergrößert ist das Bild futsch.
Ist das normal? muss ich es jedesmal neu zeichnen?

Gruß

Stefan

Re: Bild in Canvas Backdrop
Date: 25.06.07 11:28 (Mon, 25 Jun 2007 12:28:07 +0200)
From: Stefan Mettenbrink
Stefan Sicurella wrote:

> Ist das normal?

Keine Ahnung.

> muss ich es jedesmal neu zeichnen?

Im PaintEvent die eine Zeile ist ja nicht sonderlich Aufwändig.

MfG, Metti.

Re: Bild in Canvas Backdrop
Date: 25.06.07 11:34 (Mon, 25 Jun 2007 12:34:54 +0200)
From: Andy Fuchs

>> muss ich es jedesmal neu zeichnen?

Wenn Du es als Canvas1.Backdrop definierst nicht

andy

Re: Bild in Canvas Backdrop
Date: 25.06.07 11:51 (Mon, 25 Jun 2007 12:51:05 +0200)
From: Stefan Sicurella
hm, dachte ich auch aber so ist es nicht, benutzte 2007R3
egal wie ich es anstelle, es wird gelöscht wenn das Fenster skaliert
wird
Ich habe das früher schon gemacht, da ging das, irgendwo habe ich den
Wurm heute drin

Gruß

Stefan
>
>>> muss ich es jedesmal neu zeichnen?
>
> Wenn Du es als Canvas1.Backdrop definierst nicht
>
> andy
>

Re: Bild in Canvas Backdrop
Date: 25.06.07 12:02 (Mon, 25 Jun 2007 13:02:07 +0200)
From: Andy Fuchs
Wenns als Backdrop gelöscht wird, dann ist's ein Bug in RB.

Aber Du kannst ja auch immer im Paint-Event das Bild nochmal draufmalen

andy



at 25.06.2007 12:51 Uhr, Stefan Sicurella wrote:

> hm, dachte ich auch aber so ist es nicht, benutzte 2007R3
> egal wie ich es anstelle, es wird gelöscht wenn das Fenster skaliert
> wird
> Ich habe das früher schon gemacht, da ging das, irgendwo habe ich den
> Wurm heute drin
>
> Gruß
>
> Stefan
>>
>>>> muss ich es jedesmal neu zeichnen?
>>
>> Wenn Du es als Canvas1.Backdrop definierst nicht
>>
>> andy

Re: Bild in Canvas Backdrop
Date: 25.06.07 12:13 (Mon, 25 Jun 2007 13:13:45 +0200)
From: Stephan Stoske

Hi Stefan,

du sollstest eigentlich wissen wie die Events miteinander agieren,
sonst arbeitest du gegen das System, statt mit.

Ich habe im Paint-Event eines Canvas immer sowas...

if buffer = nil or buffer.width <> me.width or buffer.height <> me.height
then
buffer = newPicture( me.width, me.height, 32 )
redraw
end if
g.drawpicture buffer, 0, 0

Buffer ist das Picture mit dem Inhalt. Es wird so bei Bedarf selbst
angelegt,
beim skalieren selbst verändert und ist immer so groß wie das Canvas.
Mit der Methode redraw wird der eigentliche Inhalt in das Bild gemalt
(natürlich in Abhängigkeit von Lage und Skalierung).

redraw
view.graphics.drawpicture buffer, 0, 0

Alles andere, wie z.B. ein Refresh beim skalieren des Fensters funktioniert
dann automatisch und braucht keinen(!) weiteren Code.

Grüße, Stephan Stoske

-------------------------------------------------------------------------
stoske & bertling - visuelle kommunikation
lohmühler berg 30 - 42553 velbert - fon 02053/504464 - fax 02053/923630
<email address removed> - www.stoske-bertling.de - ftp.stoske-bertling.de

Re: Bild in Canvas Backdrop
Date: 25.06.07 14:45 (Mon, 25 Jun 2007 15:45:44 +0200)
From: Stefan Sicurella
Hi Stephan,

vielen dank, gute Idee

Gruß

Stefan
>
> Hi Stefan,
>
> du sollstest eigentlich wissen wie die Events miteinander agieren,
> sonst arbeitest du gegen das System, statt mit.
>
> Ich habe im Paint-Event eines Canvas immer sowas...
>
> if buffer = nil or buffer.width <> me.width or buffer.height <>
> me.height
> then
> buffer = newPicture( me.width, me.height, 32 )
> redraw
> end if
> g.drawpicture buffer, 0, 0
>
> Buffer ist das Picture mit dem Inhalt. Es wird so bei Bedarf selbst
> angelegt,
> beim skalieren selbst verändert und ist immer so groß wie das Canvas.
> Mit der Methode redraw wird der eigentliche Inhalt in das Bild gemalt
> (natürlich in Abhängigkeit von Lage und Skalierung).
>
> redraw
> view.graphics.drawpicture buffer, 0, 0
>
> Alles andere, wie z.B. ein Refresh beim skalieren des Fensters
> funktioniert
> dann automatisch und braucht keinen(!) weiteren Code.
>
> Grüße, Stephan Stoske
>
> ----------------------------------------------------------------------
> ---
> stoske & bertling - visuelle kommunikation
> lohmühler berg 30 - 42553 velbert - fon 02053/504464 - fax
> 02053/923630
> <email address removed> - www.stoske-bertling.de - ftp.stoske-
> bertling.de