with Image.open('sts.png').convert("RGBA") as your_image:
do_things(your_image)
def draw_text_on_image(text,
input_file='image.png',
output_file='new_image.png',
dimensions=(1047, 377),
insert_position=(900, 50),
):
with Image.open(input_file).convert("RGBA") as your_image:
temporary_image = Image.new('RGBA', dimensions, (255, 255, 255, 0))
draw = ImageDraw.Draw(temporary_image)
draw.text(insert_position, text, fill=(200, 0, 0, 255))
del draw
output = Image.alpha_composite(your_image, temporary_image)
output.save(output_file)
//в начале
using Newtonsoft.Json.Linq;
//... где то в коде
const string json =
@"{
'response': {
'count': 766,
'items': [
{
'id': 2107,
'from_id': 36578247,
'owner_id': 36578247,
'date': 1427839641,
'post_type': 'post',
'text': 'С повышением курса,цены на продукты первой необходимости значительно выросли. Не понятно почему и Российские производители так поднимают свои цены. Не ужели для того чтобы увеличить зарплату своих сотрудников? Я в этом сомневаюсь! Растет социальное неравенство! Все больше людей остается без работы! Да и что сейчас можно купить на прежнюю зарплату? Теперь не то что бы отдыхать, да и жить дорого!',
'post_source': {
'link': {
'url': 'http://kredit-otziv.ru/kurs-valyut/',
'title': 'Курс валют на завтра, сегодня, за неделю ЦБ РФ, Доллар, Евро и др.. | Кредит Отз...',
'description': ''
},
'type': 'widget',
'data': 'comments'
},
'comments': {
'count': 0,
'can_post': 0
},
'likes': {
'count': 0,
'user_likes': 0,
'can_like': 1,
'can_publish': 1
},
'reposts': {
'count': 0,
'user_reposted': 0
}
}
]
}
}";
//... еще где-то в коде
var data = JObject.Parse(json);
var items = data["response"]["items"];
string text = items[0]["text"].Value<string>();
string name = items[0]["post_source"]["link"]["title"].Value<string>();
Под OS X есть парочка красивых приложений, которые решают вашу проблему:
Как вариант простое "облачное" решение — GistBox