convert -size 2000x300 xc:grey30 -font Arial -pointsize 79
-gravity center -draw "fill grey70 text 0,0'this is my test text'"
stamp_fgnd79.png
Tạo ảnh với size tuỳ ý, chèn text với các format ...
http://www.imagemagick.org/discourse-server/viewtopic.php?t=14712
http://www.imagemagick.org/Usage/text/
tạo ảnh size tuỳ ý để test upload ...
Muốn tạo ảnh size theo MB tuỳ ý đơn giản là dùng imagemagick merge nhiều ảnh size nhỏ là ok:
http://www.imagemagick.org/script/montage.php
Imagik Photo Joiner and Generate text image
Imagick n FFmpeg in PHP:
Generate text image and
Imagick n ffmpeg in PHP
Update 1:
Có 1 cách ghép ảnh hay dùng nữa là ghép theo byte, nghĩa là ảnh coi như dãy nhị phân rồi ghép tất cả lại. Cách này thì khi mở file sẽ khá to và chỉ thấy ảnh file đầu tiên.
Muốn hiện ra có nhiều cách như dùng tool hay script để crop ra.
Ví dụ khi bạn dùng HexEditor mở file ảnh loại này lên rồi tìm các từ HEX: 2E 50 4E 47 ~ (.PNG). Kết quả sẽ là các bytes nằm xen kẽ .PNG (là các file ảnh đã join lại).
Có nhiều script để tách ra, ví dụ như 1 cái python này:
photo_spliter.py
https://github.com/dnouri/photo_splitter
Some sample img:
Còn đây là split của game ThirdBlade ra.
http://www.mediafire.com/download/c401ss9d717mnqb/Character.zip
ThirdBlade
Đây là script cut binary file.
#!/usr/bin/env python import argparse import binascii import mmap import sys class CSplitB(object): def __init__(self, spliton, infile, number, prefix, suffix): spliton_str = binascii.unhexlify(spliton) if not prefix: prefix = "xx" if not suffix: suffix = ".dat" self.spliton_str = spliton_str self.infile = infile self.number = number self.prefix = prefix self.suffix = suffix self.number_fmt = "%%0%dd" % self.number self.last_idx = -1 self.count = 0 def run(self): with open(self.infile, "r+b") as f: self.mm = mmap.mmap(f.fileno(), 0) while True: idx = self.mm.find(self.spliton_str, self.last_idx + 1) if idx == -1: self.finish() break else: self.rotate(idx) def rotate(self, idx): if self.last_idx != -1: self.write(self.mm[self.last_idx:idx]) self.last_idx = idx def finish(self): self.write(self.mm[self.last_idx:]) def write(self, data): outfile = self.prefix + (self.number_fmt % self.count) + self.suffix with open(outfile, "w+b") as f: f.write(data) self.count += 1 def main(argv = sys.argv): parser = argparse.ArgumentParser(description="csplitb - Context splitter on binary data.") parser.add_argument("spliton", help="Hexadecimal representation of data to split on.") parser.add_argument("infile", help="Input file.") parser.add_argument("-n", "--number", type=int, help="Number of zeroes to pad filename. Default is 2") parser.add_argument("-f", "--prefix", help="Output file prefix. Default is xx") parser.add_argument("-s", "--suffix", help="Output file suffix. Default is .dat") args = parser.parse_args(argv[1:]) csplitb = CSplitB(args.spliton, args.infile, args.number, args.prefix, args.suffix) return csplitb.run() if __name__ == '__main__': main()
Cách dùng coi trên trang chủ github: https://github.com/mypalmike/csplitb
csplitb
Python tool like unix csplit but which splits binary files based on hexadecimal boundaries.This is particularly useful for salvaging jpegs from a corrupted disk image.Example usage:$ csplitb.py --prefix photo --suffix .jpg --number 4 ffd8ffe1 corrupted-disk-image.rawThis will split the disk image, keeping the header, into photo0000.jpg, photo0001.jpg, etc. Because a disk image represents a potentially fragmented file system, some (or all) of the jpeg files may be corrupted.The "ffd8ffe1" here is a jpeg header. I'm not an expert on the jpeg format, so it's possible that you may need to use a different hex search term. Use a hex editor or viewer such as xxd to find what content you want to split on.How to implement this function in Java ? Old J2ME game have this function (?) but have been obfuscated. If we can implement in Java (LibGDX for example) then we can use bridge-lib to compile AA game.
find . -name "*.sh" -exec cp {} ~/Desktop/sh/ \;
ReplyDeletefind all roi cp
dùng alias thì:
findname "*.sh" -exec cp {} ~/Desktop/sh/ \;
-pointsize 79 với ảnh nhỏ thì để point nhỏ thì text nó mới fit in ko thì bị crop
ReplyDelete