Himmler
18-11-2008, 03:02 PM
Hi guys and gals,
Im using GM7 pro and I am using the PRint extension that comes with Game Maker.
I am able to use the functions to print text perfectly, but when it comes to printing any image or image file, or a sprite, i just dont find any joy.
In all attempts i can get it to print to "Microsoft Office Document image writer" displaying the image and such everytime, but as soon as i choose an actual printer, it only prints the text. I have tried several printers on several computers. I do not know what i am doing wrong. Please have a look at my code and see if you can spot anything funny.
if global.print = 1
{
global.print = 0;
pr_printer_setup_dialog_show()
pr_set_orientation(pr_or_portrait);
global.pixelwidth = pr_get_width()
global.pixelheight = pr_get_height()
global.roomheight = 660;
global.roomwidth = 480;
global.scalexprint = round((global.pixelwidth)/(global.roomwidth));
global.scaleyprint = round((global.pixelheight)/(global.roomheight));
pr_set_title("Coil")
pr_set_font_name(arial2);
pr_set_font_size(12);
pr_set_font_color(c_blue);
pr_begin_document();
//Sprite
pr_print_sprite_scale(full_round_result_obj.x,full _round_result_obj.
y,global.scalexprint,global.scaleyprint,full_round _
result,0);
// Dimensions
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*dimension_info_obj. y),"A");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+20)),"B");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+40)),"C");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+60)),"D");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+80)),"E");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+100)),"F");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+120)),"Length");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+140)),"Mass");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+160)),"Resistance");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+180)),"Wire Width");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+200)),"Wire Depth");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*dimension_info_obj .y),string(global.diametertrue * global.layers));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+20)),string(global.diametertrue * global.turnsperlayer));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+40)),string(global.corediameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+60)),string(global.coildiameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+80)),string(global.insidespacing));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+100)),string(global.depthspacing));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+120)),string(global.wirelength));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+140)),string(global.wiremass));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+160)),string(global.resistancetrue));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+180)),string(global.diameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+200)),string(global.diameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*dimension_info_obj .y),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+20)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+40)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+60)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+80)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+100)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+120)),"m");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+140)),"kg");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+160)),"Ohm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+180)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+200)),"mm");
//Output
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+20) ),"Power");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+40) ),"Current");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+60) ),"Voltage");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+80) ),"Current density");
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y)),"Required");
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+20 )),string(global.powerwatts));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+40 )),string(global.maxcurrent));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+60 )),string(global.volts));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+80 )),string(global.amps));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y)),"Resultant");
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+20 )),string(global.powertrue));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+40 )),string(global.currenttrue));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+60 )),string(global.volts));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+80 )),string(global.amps));
//Turns
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y)),"Turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+20)),"Turns per layer");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+40)),"Layers");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+60)),"Ampere Turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+80)),"Insulation thickness");
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y)),st ring(global.turns));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+20)) ,string(global.turnsperlayer));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+40)) ,string(global.layers));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+60)) ,string(global.ampereturns));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+80)) ,string(global.insulationthickness));
pr_print_text((global.scalexprint*(turns_info_obj. x+350)),(global.scaleyprint*(turns_info_obj.y+60)) ,"A.turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+350)),(global.scaleyprint*(turns_info_obj.y+80)) ,"mm");
pr_end_document();
}
I've tried using the draw and step functions for this code, makes no difference
Thanks in advance.
Im using GM7 pro and I am using the PRint extension that comes with Game Maker.
I am able to use the functions to print text perfectly, but when it comes to printing any image or image file, or a sprite, i just dont find any joy.
In all attempts i can get it to print to "Microsoft Office Document image writer" displaying the image and such everytime, but as soon as i choose an actual printer, it only prints the text. I have tried several printers on several computers. I do not know what i am doing wrong. Please have a look at my code and see if you can spot anything funny.
if global.print = 1
{
global.print = 0;
pr_printer_setup_dialog_show()
pr_set_orientation(pr_or_portrait);
global.pixelwidth = pr_get_width()
global.pixelheight = pr_get_height()
global.roomheight = 660;
global.roomwidth = 480;
global.scalexprint = round((global.pixelwidth)/(global.roomwidth));
global.scaleyprint = round((global.pixelheight)/(global.roomheight));
pr_set_title("Coil")
pr_set_font_name(arial2);
pr_set_font_size(12);
pr_set_font_color(c_blue);
pr_begin_document();
//Sprite
pr_print_sprite_scale(full_round_result_obj.x,full _round_result_obj.
y,global.scalexprint,global.scaleyprint,full_round _
result,0);
// Dimensions
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*dimension_info_obj. y),"A");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+20)),"B");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+40)),"C");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+60)),"D");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+80)),"E");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+100)),"F");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+120)),"Length");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+140)),"Mass");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+160)),"Resistance");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+180)),"Wire Width");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+12)),(global.scaleyprint*(dimension_info_obj .y+200)),"Wire Depth");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*dimension_info_obj .y),string(global.diametertrue * global.layers));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+20)),string(global.diametertrue * global.turnsperlayer));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+40)),string(global.corediameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+60)),string(global.coildiameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+80)),string(global.insidespacing));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+100)),string(global.depthspacing));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+120)),string(global.wirelength));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+140)),string(global.wiremass));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+160)),string(global.resistancetrue));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+180)),string(global.diameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+132)),(global.scaleyprint*(dimension_info_ob j.y+200)),string(global.diameter));
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*dimension_info_obj .y),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+20)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+40)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+60)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+80)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+100)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+120)),"m");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+140)),"kg");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+160)),"Ohm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+180)),"mm");
pr_print_text((global.scalexprint*(dimension_info_ obj.x+204)),(global.scaleyprint*(dimension_info_ob j.y+200)),"mm");
//Output
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+20) ),"Power");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+40) ),"Current");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+60) ),"Voltage");
pr_print_text((global.scalexprint*(output_info_obj .x+16)),(global.scaleyprint*(output_info_obj.y+80) ),"Current density");
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y)),"Required");
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+20 )),string(global.powerwatts));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+40 )),string(global.maxcurrent));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+60 )),string(global.volts));
pr_print_text((global.scalexprint*(output_info_obj .x+160)),(global.scaleyprint*(output_info_obj.y+80 )),string(global.amps));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y)),"Resultant");
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+20 )),string(global.powertrue));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+40 )),string(global.currenttrue));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+60 )),string(global.volts));
pr_print_text((global.scalexprint*(output_info_obj .x+320)),(global.scaleyprint*(output_info_obj.y+80 )),string(global.amps));
//Turns
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y)),"Turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+20)),"Turns per layer");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+40)),"Layers");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+60)),"Ampere Turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+16)),(global.scaleyprint*(turns_info_obj.y+80)),"Insulation thickness");
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y)),st ring(global.turns));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+20)) ,string(global.turnsperlayer));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+40)) ,string(global.layers));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+60)) ,string(global.ampereturns));
pr_print_text((global.scalexprint*(turns_info_obj. x+240)),(global.scaleyprint*(turns_info_obj.y+80)) ,string(global.insulationthickness));
pr_print_text((global.scalexprint*(turns_info_obj. x+350)),(global.scaleyprint*(turns_info_obj.y+60)) ,"A.turns");
pr_print_text((global.scalexprint*(turns_info_obj. x+350)),(global.scaleyprint*(turns_info_obj.y+80)) ,"mm");
pr_end_document();
}
I've tried using the draw and step functions for this code, makes no difference
Thanks in advance.