94
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,94 @@ | ||||
| ###C++### | ||||
|  | ||||
| # Prerequisites | ||||
| *.d | ||||
|  | ||||
| # Compiled Object files | ||||
| *.slo | ||||
| *.lo | ||||
| *.o | ||||
| *.obj | ||||
|  | ||||
| # Precompiled Headers | ||||
| *.gch | ||||
| *.pch | ||||
|  | ||||
| # Compiled Dynamic libraries | ||||
| *.so | ||||
| *.dylib | ||||
| *.dll | ||||
|  | ||||
| # Fortran module files | ||||
| *.mod | ||||
| *.smod | ||||
|  | ||||
| # Compiled Static libraries | ||||
| *.lai | ||||
| *.la | ||||
| *.a | ||||
| *.lib | ||||
|  | ||||
| # Executables | ||||
| *.exe | ||||
| *.out | ||||
| *.app | ||||
| tiv | ||||
|  | ||||
|  | ||||
| ###Java### | ||||
|  | ||||
| # Compiled class file | ||||
| *.class | ||||
|  | ||||
| # Log file | ||||
| *.log | ||||
|  | ||||
| # BlueJ files | ||||
| *.ctxt | ||||
|  | ||||
| # Mobile Tools for Java (J2ME) | ||||
| .mtj.tmp/ | ||||
|  | ||||
| # Package Files # | ||||
| *.jar | ||||
| *.war | ||||
| *.ear | ||||
| *.zip | ||||
| *.tar.gz | ||||
| *.rar | ||||
|  | ||||
| # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||||
| hs_err_pid* | ||||
|  | ||||
|  | ||||
| ###Linux### | ||||
|  | ||||
| *~ | ||||
|  | ||||
| # KDE directory preferences | ||||
| .directory | ||||
|  | ||||
|  | ||||
| ###OSX### | ||||
|  | ||||
| .DS_Store | ||||
| .AppleDouble | ||||
| .LSOverride | ||||
|  | ||||
| # Icon must end with two \r | ||||
| Icon | ||||
|  | ||||
|  | ||||
| # Thumbnails | ||||
| ._* | ||||
|  | ||||
| # Files that might appear on external disk | ||||
| .Spotlight-V100 | ||||
| .Trashes | ||||
|  | ||||
| # Directories potentially created on remote AFP share | ||||
| .AppleDB | ||||
| .AppleDesktop | ||||
| Network Trash Folder | ||||
| Temporary Items | ||||
| .apdisk | ||||
| @@ -9,9 +9,9 @@ For each 4x8 pixel cell of the (potentially downscaled) image: | ||||
| 1. Find the color channel (R, G or B) that has the biggest range of values for the current cell | ||||
| 2. Split this range in the middle and create a corresponding bitmap for the cell | ||||
| 4. Compare the bitmap to the assumed bitmaps for various unicode block graphics characters | ||||
| 5. Re-calculate the foregound and background colors for the chosen character. | ||||
| 5. Re-calculate the foreground and background colors for the chosen character. | ||||
|  | ||||
| See the difference by disabling this optimization using the `-0` option. Or just take a look at the comparsion image at the end of this text. | ||||
| See the difference by disabling this optimization using the `-0` option. Or just take a look at the comparison image at the end of this text. | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| @@ -42,7 +42,7 @@ If multiple images match the filename spec, thumbnails are shown. | ||||
|  | ||||
| ## Comparison to Using Half-Block Characters Only | ||||
|  | ||||
| The top image was generated with the character optization diabled via the `-0` option. | ||||
| The top image was generated with the character optimization disabled via the `-0` option. | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,12 @@ | ||||
| CXX=g++ | ||||
|  | ||||
| default: tiv | ||||
|  | ||||
| tiv.o: tiv.cpp CImg.h | ||||
| 	g++ -std=c++17  -Wall -fpermissive -fexceptions -O2 -c tiv.cpp -o tiv.o | ||||
| 	$(CXX) -std=c++17  -Wall -fpermissive -fexceptions -O2 -c tiv.cpp -o tiv.o | ||||
|  | ||||
| tiv : tiv.o | ||||
| 	g++ tiv.o -o tiv -lstdc++fs -pthread -s | ||||
| 	$(CXX) tiv.o -o tiv -lstdc++fs -pthread -s | ||||
|  | ||||
| install: tiv | ||||
| 	cp tiv /usr/local/bin/tiv | ||||
|   | ||||
| @@ -362,14 +362,14 @@ void emitCodepoint(int codepoint) { | ||||
|     std::cout << (char) (0x80 | ((codepoint >> 6) & 0x3f)); | ||||
|     std::cout << (char) (0x80 | (codepoint & 0x3f)); | ||||
|   } else { | ||||
|     std::cout << "ERROR"; | ||||
|     std::cerr << "ERROR"; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| void emit_image(const cimg_library::CImg<unsigned char> & image, int flags) { | ||||
|     for (int y = 0; y < image.height() - 8; y += 8) { | ||||
|       for (int x = 0; x < image.width() - 4; x += 4) { | ||||
|     for (int y = 0; y <= image.height() - 8; y += 8) { | ||||
|       for (int x = 0; x <= image.width() - 4; x += 4) { | ||||
|         CharData charData = flags & FLAG_NOOPT | ||||
| 	  ? getCharData(image, x, y, 0x2584, 0x0000ffff) | ||||
| 	  : getCharData(image, x, y); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Stefan Haustein
					Stefan Haustein