Working on charts
(now it can generate empty transparent images) git-svn-id: file:///home/jan/tmp/wetterstation/trunk@86 dd492736-c11a-0410-ad51-8c26713eaf7f
This commit is contained in:
parent
0bb9f01fc4
commit
6208082794
|
|
@ -3,6 +3,7 @@ LD = gcc
|
||||||
RM = rm
|
RM = rm
|
||||||
CFLAGS = -c
|
CFLAGS = -c
|
||||||
LDFLAS = -o
|
LDFLAS = -o
|
||||||
|
LD_LIBS = -lefence -lm -lpq -lgd -lpng -lz -lfreetype
|
||||||
#INCL = -I$$(pg_config --includedir)
|
#INCL = -I$$(pg_config --includedir)
|
||||||
|
|
||||||
BIN_NAME = chart
|
BIN_NAME = chart
|
||||||
|
|
@ -24,8 +25,8 @@ all: $(BIN_NAME)
|
||||||
|
|
||||||
# Binary Linken
|
# Binary Linken
|
||||||
$(BIN_NAME): $(OBJS)
|
$(BIN_NAME): $(OBJS)
|
||||||
@ echo Linke: $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql -lm -lpq $(LDFLAS) $(BIN_NAME) $(OBJS)
|
@ echo Linke: $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql $(LD_LIBS) $(LDFLAS) $(BIN_NAME) $(OBJS)
|
||||||
@ $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql -lefence -lm -lpq $(LDFLAS) $(BIN_NAME) $(OBJS)
|
@ $(LD) $(DEBUG) $(NOLOG) -L$$(pg_config --libdir)/pgsql $(LD_LIBS) $(LDFLAS) $(BIN_NAME) $(OBJS)
|
||||||
@ echo Binary $(BIN_NAME) ist fertig!
|
@ echo Binary $(BIN_NAME) ist fertig!
|
||||||
|
|
||||||
# Abhängigkeiten
|
# Abhängigkeiten
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,8 @@ int main(int argc, char *argv[]){
|
||||||
if(walk_image_cfg_list())
|
if(walk_image_cfg_list())
|
||||||
wait_for_childs(NULL);
|
wait_for_childs(NULL);
|
||||||
|
|
||||||
|
DEBUGOUT1("\n-------------------------------------------------------------------\nEnde\n");
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,9 @@ static int read_color(const char *line, void *arg){
|
||||||
|
|
||||||
*col = tmp;
|
*col = tmp;
|
||||||
|
|
||||||
|
free(buff);
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ein Interval einlesen.
|
/* Ein Interval einlesen.
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,36 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <gd.h>
|
||||||
#include "image_draw.h"
|
#include "image_draw.h"
|
||||||
#include "image_data.h"
|
#include "image_data.h"
|
||||||
|
#include "image_common.h"
|
||||||
|
|
||||||
|
|
||||||
static void create_image();
|
typedef int color;
|
||||||
|
|
||||||
|
|
||||||
|
static gdImagePtr create_image();
|
||||||
static void draw_image();
|
static void draw_image();
|
||||||
static void write_image();
|
static void write_image_png(gdImagePtr, FILE *);
|
||||||
|
|
||||||
|
|
||||||
int draw_to_file(FILE *fd){
|
int draw_to_file(FILE *fd){
|
||||||
|
gdImagePtr img = create_image();
|
||||||
draw_image();
|
draw_image();
|
||||||
|
write_image_png(img, fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void create_image(){
|
static gdImagePtr create_image(){
|
||||||
|
gdImagePtr new_img = NULL;
|
||||||
|
color back;
|
||||||
|
img_color_ptr back_p = img_cfg.bg_color;
|
||||||
|
|
||||||
|
new_img = gdImageCreateTrueColor(img_cfg.width, img_cfg.height);
|
||||||
|
gdImageAlphaBlending(new_img, 0);
|
||||||
|
back = gdImageColorAllocateAlpha( new_img, back_p->r, back_p->g, back_p->b, back_p->alpha );
|
||||||
|
gdImageFilledRectangle(new_img, 0,0,img_cfg.width, img_cfg.height, back);
|
||||||
|
gdImageAlphaBlending(new_img, 1);
|
||||||
|
|
||||||
|
return new_img;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_image(){
|
static void draw_image(){
|
||||||
|
|
@ -21,6 +38,8 @@ static void draw_image(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void write_image(){
|
static void write_image_png(gdImagePtr img, FILE *fd){
|
||||||
|
gdImageAlphaBlending(img, 0);
|
||||||
|
gdImageSaveAlpha(img, 1);
|
||||||
|
gdImagePng(img, fd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,9 +92,10 @@ static int check_file_interval(){
|
||||||
DEBUGOUT3("Datei '%s' ist %d Sek. alt \n", img_cfg.file_name, diff_sek);
|
DEBUGOUT3("Datei '%s' ist %d Sek. alt \n", img_cfg.file_name, diff_sek);
|
||||||
DEBUGOUT2("Sie soll aller %d Sek. neu generiert werden \n", img_cfg.gen_interval);
|
DEBUGOUT2("Sie soll aller %d Sek. neu generiert werden \n", img_cfg.gen_interval);
|
||||||
|
|
||||||
if(diff_sek > img_cfg.gen_interval)
|
if(diff_sek > img_cfg.gen_interval){
|
||||||
DEBUGOUT1("Sie muss neu generiert werden!\n");
|
DEBUGOUT1("Sie muss neu generiert werden!\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
exit_error(ERROR_STAT);
|
exit_error(ERROR_STAT);
|
||||||
|
|
@ -104,5 +105,6 @@ static int check_file_interval(){
|
||||||
}
|
}
|
||||||
|
|
||||||
static void regenerate_image(){
|
static void regenerate_image(){
|
||||||
draw_to_file(NULL);
|
FILE *fd = fopen(img_cfg.file_name, "wb");
|
||||||
|
draw_to_file(fd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ headline Testbild
|
||||||
manual_table no
|
manual_table no
|
||||||
manual_table_name auss2_data
|
manual_table_name auss2_data
|
||||||
table_field temp
|
table_field temp
|
||||||
gen_interval 15m
|
gen_interval 15
|
||||||
show_interval 1h
|
show_interval 1h
|
||||||
label_interval 10m
|
label_interval 10m
|
||||||
label_sum no
|
label_sum no
|
||||||
|
|
@ -11,4 +11,4 @@ width 400
|
||||||
height 250
|
height 250
|
||||||
sensor_id 1
|
sensor_id 1
|
||||||
|
|
||||||
bg_color 10:2c:30:00 #test
|
bg_color 60:30:50:af #test
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue