AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kalenderübersicht als jpg

Ein Thema von Monday · begonnen am 26. Dez 2016 · letzter Beitrag vom 4. Feb 2017
Antwort Antwort
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#1

Kalenderübersicht als jpg

  Alt 26. Dez 2016, 11:02
Hallo,
ich möchte eine Kalenderübersicht für ein Monat (sowas in der Art vom Aussehen https://mrknowing.files.wordpress.co...l-kalender.jpg ) als jpg erstellen. Also nur zum anschauen, ohne irgendwas klicken oder so.
Den Kalender als solches zu erstellen ist nicht die Schwierigkeit, da kann ich kreativ sein, wenn ich wüsste wie ich das als Grafik speichern könnte.
Ich dachte zunächst ich könnte TCalender irgendwie einfach missbrauchen und als jpg speichern, aber damit kenne ich mich nicht aus. Und selbst jpg zeichnen ist etwas fusselig mit dem positionieren. Geht das auch einfacher? Gibts da einen Trick? Wie müsste ich richtig vorangehen?! Oder doch selbst zusammenbasteln?!

LG
Monday
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#2

AW: Kalenderübersicht als jpg

  Alt 26. Dez 2016, 12:08
ich möchte eine Kalenderübersicht für ein Monat (sowas in der Art vom Aussehen https://mrknowing.files.wordpress.co...l-kalender.jpg ) als jpg erstellen. Also nur zum anschauen, ohne irgendwas klicken oder so.
Deine Aufgabenstellung habe ich nicht wirklich begriffen...
Geht es Dir darum, dass bei der Kalenderkomponente etwas angeklickt werden kann, Du dies aber nicht möchtest?
Zitat:
Den Kalender als solches zu erstellen ist nicht die Schwierigkeit, da kann ich kreativ sein, wenn ich wüsste wie ich das als Grafik speichern könnte.
Wie erstellst Du das Kalenderblatt? Mit Paint und Konsorten? Dann kannst Du die erstellte Grafik ja einfach mit einem TImage laden.
Zitat:
Ich dachte zunächst ich könnte TCalender irgendwie einfach missbrauchen und als jpg speichern, aber damit kenne ich mich nicht aus. Und selbst jpg zeichnen ist etwas fusselig mit dem positionieren. Geht das auch einfacher? Gibts da einen Trick? Wie müsste ich richtig vorangehen?! Oder doch selbst zusammenbasteln?!
Wenn Du einen bestimmten Bereich als Grafik speichern möchtest, kannst Du Dir folgenden Thread anschauen http://www.delphipraxis.net/84356-ei...speichern.html
Roland

Geändert von blawen (26. Dez 2016 um 12:12 Uhr)
  Mit Zitat antworten Zitat
Slipstream
(Gast)

n/a Beiträge
 
#3

AW: Kalenderübersicht als jpg

  Alt 26. Dez 2016, 18:18
Hallo, ich möchte eine Kalenderübersicht für ein Monat (sowas in der Art vom Aussehen https://mrknowing.files.wordpress.co...l-kalender.jpg ) als jpg erstellen. Also nur zum anschauen, ohne irgendwas klicken oder so.
Den Kalender als solches zu erstellen ist nicht die Schwierigkeit, da kann ich kreativ sein, wenn ich wüsste wie ich das als Grafik speichern könnte.
Ich dachte zunächst ich könnte TCalender irgendwie einfach missbrauchen und als jpg speichern, aber damit kenne ich mich nicht aus. Und selbst jpg zeichnen ist etwas fusselig mit dem positionieren. Geht das auch einfacher? Gibts da einen Trick? Wie müsste ich richtig vorangehen?! Oder doch selbst zusammenbasteln?!
Wenn ich das richtig verstanden habe, möchtest du ein Kalenderblatt zeichnen, das alle Tage eines Monats und pro Zeile 7 Tage enthält. Das kannst du auf eine Paintbox oder auf ein TImage zeichnen. Es gibt dafür Befehle wie MoveTo, LineTo, Rectangle und TextOut. Die Zeichenfläche ist der Canvas als Eigenschaft einer TBitmap. Kannst du damit was anfangen?
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#4

AW: Kalenderübersicht als jpg

  Alt 27. Dez 2016, 10:27
In Delphi würd ich das so machen:
Code:
var
  Bmp: TBitmap;
  Png: TPngImage;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.SetSize(CalendarView1.Width, CalendarView1.Height);
    BitBlt(Bmp.Canvas.Handle, 0, 0, CalendarView1.Width, CalendarView1.Height,
      self.Canvas.Handle, CalendarView1.left, CalendarView1.Top, SRCCOPY);
    Png := TPngImage.Create;
    try
      Png.Assign(Bmp);
      Png.SaveToFile('C:\Users\Matthias\Desktop\Test.png');
    finally
      Png.Free;
    end;
  finally
    Bmp.Free;
  end;
end;
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Kalenderübersicht als jpg

  Alt 27. Dez 2016, 17:59
Unter Lazarus würde ich das so (mit PaintTo) machen (geht bei Bedarf unter Delphi VCL auch genau so):

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  bm: TBitmap;
begin
  bm := tbitmap.create;
  try
    bm.setsize (calendar1.width, calendar1.height);

    calendar1.PaintTo(bm.canvas,0,0);
    //Image1.picture.bitmap.assign (bm); //falls Ergebnis angesehen werden soll
  finally
    bm.free;
  end;
end;
Unter Delphi, FMX so:

Delphi-Quellcode:
procedure TForm44.Button1Click(Sender: TObject);
var
  bm: TBitmap;
begin
  bm := Tbitmap.create;
  try
    bm := calendar1.MakeScreenshot;
    //... weitere Nutzung von bm
    //image1.Bitmap.Assign(bm); falls Ergebnis betrachtet werden soll
  finally
    bm.free;
  end;
end;

Geändert von Harry Stahl (27. Dez 2016 um 18:06 Uhr)
  Mit Zitat antworten Zitat
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Kalenderübersicht als jpg

  Alt 4. Feb 2017, 10:28
Danke für eure Antworten.

Nun habe ich doch selbst etwas geschrieben, was dem nahe kommt wie ich mir vorstelle. Und da ich schon dabei war, habe ich noch ein kleines Programm daraus gemacht siehe hier: http://www.delphipraxis.net/191633-k...ml#post1360802

LG
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 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