Sida 1 av 1

Kan man få MS Paint att skriva ut filnamnet?

Postat: 16 november 2017, 22:02:00
av Spisblinkaren
Hej!

Det här är förmodligen en mycket korkad fråga för jag tror inte det härligt primitiva programmet MS Paint har den featuren men det hade varit bra, jag har hyfsad koll på mina filer ändå men att liksom få en liten utprintning av filnamnet typ längst ner till höger/vänster skadar ju liksom inte.

MVH/Roger

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 17 november 2017, 08:05:38
av Purre
Bara lägga in en textrad annars i bilden för att få med det.

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 17 november 2017, 08:42:37
av Glenn
Annars kan du ju skriva ut med ett bildvisningsprogram med den fiunktionaliteten, tror irfanview klarar det exempelvis.

Min nya favorit vad det gäller windows är dock fastStone, den har även en massa utskriftsfunktioner som är smidiga.

..Snart är finns det nästan lika bra printmjukvara till windows som turboprint på Amigan var för 20 år sen :)

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 17 november 2017, 16:31:05
av Spisblinkaren
Purre skrev:Bara lägga in en textrad annars i bilden för att få med det.
Ett enkelt och bra förslag men då får jag ju skriva det varje gång.

Min fråga skulle sedan kunna förlängas till att gälla datumstämpel också för här slarvar jag mycket ty jag orkar inte ändra det varje gång och tvingas istället resonera som så att den datumstämpel som står den visar när projektritningen först skapades vilket inte är så dumt alla gånger men det kan vara svårt att se småförändringar när datumet är lika, därför hade en automatisk datumstämpel i nåt hörn varit bra.

MVH/Roger

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 24 november 2017, 20:35:19
av swesysmgr
Är du villig att testa Imagemagick med ett litet script? Att sätta filens namn och datum i en ruta i nedre högra hörnet borde inte vara så svårt. Är gratis och fungerar bra på Windows.

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 24 november 2017, 20:39:56
av Spisblinkaren
Jag är skeptisk till allt vad (installation av) program innebär, men det låter bra :)

MVH/Roger

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 2 december 2017, 20:00:03
av swesysmgr
Ledsen det dröjde men nu har jag gjort ett enkelt förslag, det är en BAT-fil som inte kräver installation av Python eller liknande och du kan ändra den själv med t.ex. Notepad.

Kräver bild-utilityn Imagemagick installerad (http://www.imagemagick.org/script/download.php), Win32 långt ner på sidan är rätt version för XP.

Som det är nu lägger den bara in en grå ruta med 24 punkters gul text på i nedre högra hörnet. Färgerna kan du labba med själv i den sista subrutinen (RGB-funktionerna), de skulle väl egentligen legat som konstanter längst upp.

Det går att ordna hur mycket finlir som helst med Imagemagick, du får säga vad du tänkt dig.

Storleksfunktionen används inte, tanken var att dynamiskt anpassa textens storlek efter bildens mått och rata bilder under vissa mått där texten blir oläsbar men detta går eventuellt att göra på ett smartare sätt direkt i Imagemagick.

Nu sparas bilderna med nya namn för att inte förstöra originalen men det borde gå bra att skriva över dem genom att bara skicka in samma filnamn för infil och utfil.

Bifogar "stämplad" KPA-ritning som exempel.

Kod: Markera allt

REM Datumstämpla filer
REM Fler exempel: http://www.imagemagick.org/Usage/annotating/#practical
@ECHO OFF
REM Behövs bara om magick.exe inte kan hittas, lägg in rätt sökväg för maskinen
REM PATH %PATH%;C:\Program Files\ImageMagick-7.0.6-Q16
CHCP 1252
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "usebackq" %%I IN (`dir /b *.png`) DO (	
	
	SET fdtm=%%~tI
	SET fd=%fdtm:~0,10%	
	REM SET fp=%%~fI
	SET fin=%%~nI%%~xI
	SET fut=%%~nI_dtm%%~xI
	
	ECHO Filnamn: !fin! Datum: !fd!
	
	CHOICE /C JN /M "Vill du datumstämpla filen?"
		
	IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 (
		SET /a bb=0
		SET /a ww=0

		CALL :magickdim "!fin!" bb ww
		CALL :magicktext "!fin!" !fd! "!fut!"
	)
)

ENDLOCAL
EXIT /B

REM Tar fram bildens mått i pixel
REM %1 komplett sökväg till bildfil
:magickdim	
	FOR /F "usebackq tokens=1,2 delims=;" %%I IN (`magick identify ^
	-format "%%[fx:w];%%[fx:h]" %1`) DO (	
		SET /a %~2=%%I
		SET /a %~3=%%J
	)	
EXIT /B

REM Skriver etikett i nedre högra hörnetoch sparar ny fil med tillägget _dtm
REM %1 infil, %2 datumtext %3 utfil
:magicktext
	ECHO magicktext %1 %2 %3
	magick %1 -gravity SouthEast -fill "rgb(255,215,0)" ^
	-undercolor "rgb(64,64,64,0.50)" -pointsize 24 -annotate +20+20 "%2" %3

EXIT /B

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 2 december 2017, 20:32:16
av Spisblinkaren
Trevligt :)

Kan du få med filnamnet också inklusive hela pathen så börjar jag bli riktigt intresserad.

MVH/Roger

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 2 december 2017, 20:57:41
av swesysmgr
Inga problem det finns med i programmet, variabeln fp som just nu inte används, vill du ha allt på en rad längst ner eller? Skall det se ut mer som ett dokument med centrerad text i sidfot eller allt högerställt?

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 2 december 2017, 21:58:51
av Spisblinkaren
Högerställt längst ner till höger är önskvärt :)

MVH/Roger
PS
Hur styr man vilka dokument detta gäller? Jag skulle tycka det var bra om det gällde alla dokument jag skriver ut.

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 2 december 2017, 22:37:35
av swesysmgr
Det vet jag inte om det går men ibland finns det en sådan möjlighet i utskriftsinställningarna eller drivrutinen t.ex. brukar alla webbläsare ha en ruta för att slå på utskrift av URL och datum i sidhuvudet.

Bat-filen loopar alla .png bilder i katalogen som den körs i men det går att ändra till att ta en bilds fulla sökväg som argument t.ex.

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 3 december 2017, 00:25:26
av swesysmgr
Ok nu har jag ändrat så att det fungerar med backslash i Imagemagick-texten och att filnamn med blanksteg hanteras korrekt.

Kod: Markera allt


@ECHO OFF
REM Datumstämpla filer
REM Fler exempel: http://www.imagemagick.org/Usage/annotating/#practical

REM Behövs bara om magick.exe inte kan hittas, lägg in rätt sökväg för maskinen
REM PATH %PATH%;C:\Program Files\ImageMagick-7.0.6-Q16
CHCP 1252

REM SET EAGLE_R="rgb(165,75,75)"
REM SET EAGLE_G="rgb(75,165,75)"
REM SET EAGLE_GR="rgb(165,165,165)"

SET TEXT_F="rgb(165,75,75)"
SET BAKGR_F="rgb(255,255,255,0.50)"

SET BAKGRUND= 
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "usebackq tokens=*" %%I IN (`dir /b *.png`) DO (	
	
	SET dtm=%%~tI
	SET fd=!dtm:~0,10%!
	SET fp=%%~fI
	SET fin=%%~nI%%~xI
	SET fut=%%~nI_dtm%%~xI
	
	ECHO Filnamn: !fin! Datum: !fd!
	
	CHOICE /C JN /M "Vill du datumstämpla filen?"
		
	IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 (
		SET /a bb=0
		SET /a ww=0

		CALL :magickdim "!fin!" bb ww
		REM \ är escapetecken i imagemagick
		SET imtxt=!fp:\=\\!
		CALL :magicktext "!fin!" "!imtxt! !fd!" "!fut!"
	)
)

ENDLOCAL
EXIT /B

REM Tar fram bildens mått i pixel
REM %1 komplett sökväg till bildfil
:magickdim	
	FOR /F "usebackq tokens=1,2 delims=;" %%I IN (`magick identify ^
	-format "%%[fx:w];%%[fx:h]" %1`) DO (	
		SET /a %~2=%%I
		SET /a %~3=%%J
	)	
EXIT /B

REM Skriver etikett i nedre högra hörnet och sparar ny fil med tillägget _dtm
REM %1 infil, %2 text %3 utfil
:magicktext
	magick %1 -gravity SouthEast -fill %TEXT_F% ^
	-undercolor %BAKGR_F% -pointsize 14 -annotate +20+20 %2 %3

EXIT /B

Re: Kan man få MS Paint att skriva ut filnamnet?

Postat: 3 december 2017, 17:46:17
av Spisblinkaren
Jesus vad du är duktig på datorer!

Jag har tänkt lite idag och det skulle faktiskt kunna räcka med bara filnamnet för jag har ändå så bra koll på mina projekt men om hela pathen är med så är det aldrig fel.

Sen har jag kommit fram till att jag bara skulle behöva denna finess för Paint/png-filer, i t.ex Excel kan jag ju själv fixa det för det finns inbyggt (dock vet jag inte om man får med hela pathen men filens namn vet jag bestämt att man får med).

MVH/Roger
PS
Försökte läsa ditt fina program men jag är ledsen, jag förstår inte sånt (vill inte förstå heller, om jag skall vara ärlig).