martedì 2 dicembre 2025
Lista aggiornata dei programmi gratuiti per la creazione dei video giochi
lunedì 1 dicembre 2025
Elenco Software gratuito per Windows
Si riporta qui di seguito una serie di programmi gratuiti da installare ed utilizzare sul sistema operativo Windows.
Quando si acquista un nuovo pc, è necessario installare alcuni programmi di utilità quotidiana, ma che a volte non troviamo, di seguito una serie di programmi divisi per categorie:
Di seguito la lista:
Lettore file pdf (Adobe):
Sono programmi per aprire i file di sola lettura di Adobe, quelli con estensione "pdf".
Adobe: Programma gratuito per la lettura e compilazione dei moduli dei file Pdf. Download qui https://get.adobe.com/it/reader/
Office Automation:
Sono programmi che offrono la possibilità di una gestire vari tipologie di file quali video scrittura per la stesura delle lettere, foglio di calcolo per operazioni di contabilità e matematici, presentazioni e tanto altro.
Di seguito la lista dei programmi gratuiti da installare uno tra quelli presenti:
Onlyoffice: https://www.onlyoffice.com/it/download-desktop.aspx?from=home-use
Libre Office: https://it.libreoffice.org/
Sono entrambi molto validi, anche se OnlyOffice offre qualcosa in più.
Office online: Suite di Microsoft, gratuita se utilizzata con un account gratuito Microsoft quale indirizzo email outlook o altri. www.outlook.it per accedere.
Navigazione internet browser:
Programmi che permettono di navigare in internet, ossia aprire i vari siti.
Da installare uno o più di uno dall'elenco qui di seguito:
Browser Chrome: https://www.google.com/intl/it_it/chrome/
Posta elettronica:
em client https://it.emclient.com/
Grafica:
Programmi per la modifica di immagini o creazione di immagini.
Da installare uno o più dall'elenco qui di seguito in base alle proprie esigenze.
Paint.Net: programma di grafica: Un programma gratuito con codice sorgente, per realizzare immagini anche professionali https://www.getpaint.net/index.html
Teleassistenza:
Programmi che permettono di collegarsi ad altro pc, per offrire assistenza o prendere il controllo da remoto, permette di vedere cosa accade in un altro pc che è collegato.
Da installare uno dall'elenco qui di seguito.
RustDesk https://rustdesk.com/it/ Gratuito ed open source, senza limitazioni.
TeamViewer: https://www.teamviewer.com/it/
Supremo: https://www.supremocontrol.com/it/
Opzionali.
VPN:
Sono programmi che permettono di avere più sicurezza su internet, e sono utili per nascondere il proprio indirizzo ip.
Avira VPN https://www.avira.com/it/free-vpn
OpenVPN Connect: https://openvpn.net/client/
Sicurezza del pc:
Programmi che permettono di proteggere il proprio pc.
Avira free Security https://www.avira.com/it/free-security
Pulizia Adware
AdwCleaner - Strumento gratuito di pulizia e rimozione adware | Malwarebytes https://it.malwarebytes.com/adwcleaner/
Protezione Malware https://www.iobit.com/it/malware-fighter.php
Video Editing
Vimix
https://brunoherbelin.github.io/vimix/
Audio Editing
Ardour
Editor di testo
Notepad++
martedì 18 novembre 2025
strumento online gratuito per la gestione e modifica dei file pdf toolhub
Un valido strumento online gratuito ed in lingua italiana, per la modifica e gestione dei file pdf.
Parliamo del sito https://toolhub.club/it/pdf che non richiede ne indirizzo email e ne account, nella gestione dei file pdf.
domenica 16 novembre 2025
Strumento online per la modifica delle immagini toolhub
Un valido strumento online per la gestione delle immagini, in particolare per applicare effetti o modifiche a delle immagini.
Il sito ToolHub, visibile qui https://toolhub.club/it/images tra le varie funzionalità, fornisce la possibilità di applicare effetti o modificare alle immagini. Il servizio in lingua italiana è gratuito e non richiede ne indirizzo email e ne registrazione.
download gioco Blue Protocol: Star Resonance
Un gioco molto ben curato nella grafica ma soprattutto della sua giocabilità, parliamo del gioco di avventura Blue Protocol: Star Resonance, per sistemi operativi Windows .
Il gioco adatto a ragazzi ed adulti, è un video gioco molto ben fatto.
Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/blue-protocol-star-resonance-27bff9
Download gratuito ScourgeBringer
Disponibile gratuitamente e senza limitazioni, il gioco di azione ScourgeBirnger, in lingua italiana per sistemi operativi Windows e Mac.
Il gioco, per ragazzi ed adulti, offre una grafica molto interessante, ed una valida giocabilità.
Fino al 20 novembre 2025, sarà possibile scaricarlo gratuitamente, dopo tale data, il download sarà a pagamento.
Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/scourgebringer
sabato 15 novembre 2025
Avviare Esplora file come amministratore del computer in Windows 11
Download gioco gratuito Where Winds Meet
Un bellissimo gioco di avventura gratuito per tutti gli appassionativi del gaming.
Parliamo di Where Winds Meet, disponibile per sistemi operativi Windows, e senza limitazioni.
Il gioco, adatto a ragazzi ed adulti, offre una grafica molto ben curata e giocabilità molto ben fatta.
Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/it/p/where-winds-meet-58a176
venerdì 14 novembre 2025
Evento gratuito .NET Conf 2025 - Le Novità di .NET 10
Download ChronosWorlds
Un bel gioco gratuito di avventura, quello disponibile gratuitamente per sistemi operativi Windows, adatto a bambini, ragazzi ed adulti.
Parliamo del video gioco ChronosWorlds, in lingua inglese, che offre una giocabilità molto ben fatta e grafica curata.
Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/chronosworlds-b69248
Evento gratuito The Agentic Day
download Songs of Silence
Un gioco di strategia e guerra, molto ben fatto e con una valida giocabilità.
Fino al 20 novembre 2025, è possibile scaricare gratuitamente senza limitazioni, il gioco Songs Of Silence, in lingua italiana e per sistemi operativi Windows, dopo tale data, il gioco sarà a pagamento,.
Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/songs-of-silence-778d86
mercoledì 12 novembre 2025
Download gioco Game of Thrones: Kingsroad
Un gioco molto bello e con una grafica molto curata, parliamo del gioco di avventura Game Of Thrones Kingsroad, disponibile gratuitamente per sistemi operativi Windows.
Il gioco, per ragazzi ed adulti, offre una buona giocabilità.
Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/it/p/game-of-thrones-kingsroad-e19c7c
martedì 11 novembre 2025
Download gioco Oman Physics 12
Disponibile gratuitamente e senza limitazioni il gioco di simulazione Oman Physics 12, per la gestione del voltaggio elettrico.
Il video gioco è per sistemi operativi Windows.
Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/oman-physics-12-12f0d7
Rilasciato il nuovo ambiente di sviluppo Visual Studio 2026 ed il nuovo Framework .Net 10
Download programma gratuito per la modifica dei file pdf FreePDF
Un ottimo programma gratuito, in lingua italiana per la modifica e gestione dei file pdf.
Parliamo di FreePdf, scaricabile qui https://www.getfreepdf.com/it/ che permette di modificare e gestire i file pdf.
Un ottimo programma per modificare e creare file pdf.
C# impostare il formato 1920 x 1080 in una nuova immagine da una esistente, con il .Net 9
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
public static void ResizeImage(string percorsoNomeFileOriginale, string percorsoNomeNuovoFile, int width, int height)
{
try
{
//Creo un nuovo oggetto bmp dall'immagine esistente
using (Bitmap bmpOriginale = new Bitmap(percorsoNomeFileOriginale))
{
//Crea un nuovo oggetto bitmap con le dimensioni desiderate
using (Bitmap bmpNuovaImmagine = new Bitmap(width, height))
{
//Crea un oggetto Graphics per disegnare sulla nuova bitmap
using (Graphics graphics = Graphics.FromImage(bmpNuovaImmagine))
{
//Imposta le proprietà per una migliore qualità (opzionale)
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//Disegna l'immagine originale sulla nuova bitmap, ridimensionandola ed impostando le varie proprietà
graphics.DrawImage(bmpOriginale, 0, 0, width, height);
}
//Salva la nuova immagine
bmpNuovaImmagine.Save(percorsoNomeNuovoFile, ImageFormat.Jpeg);
}
}
MessageBox.Show("Immagine ridimensionata con successo!");
}
catch (System.Exception ex)
{
MessageBox.Show("Errore: " + ex.Message);
}
}
private void BtnRisoluzione_Click(object sender, EventArgs e)
{
// Imposta i percorsi e le dimensioni desiderate
string percorsoNomeFileOriginale = "C:\\varie\\menu.jpg";
string percorsoNomeNuovoFile = "C:\\varie\\menu19201080.jpg";
int newWidth = 1920;
int newHeight = 1080;
// Chiama la funzione per ridimensionare l'immagine
ResizeImage(percorsoNomeFileOriginale, percorsoNomeNuovoFile, newWidth, newHeight);
}
lunedì 10 novembre 2025
download gioco MaSzyna
Un gioco molto ben fatto con una grafica molto ben curata nei vari dettagli.
Parliamo del gioco di simulatori dei treni MaSzyna, disponibile gratuitamente per sistemi operativi Windows .
Il video gioco è adatto a bambini, ragazzi ed adulti.
Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/it/p/maszyna-79052a
nuove icone di Microsoft Office
In questi giorni per chi utilizza il pacchetto Microsoft Office, avrà notato nuove icone per contraddistinguere i vari programmi della suite per l'ufficio.
Icone, molto carine.
C# applicare un effetto ondulato ad un'immagine esistente con .Net 9
In questo esempio di codice nel linguaggio di programmazione C#, tramite la versione 9 del framework .Net, vedremo come creare una nuova immagine, da una esistente, applicando l'effetto ondulato, il tutto come mostrato nella figura precedente.
In alto, sopra ad ogni dichiarazione, inseriamo l'aggiunta per il namespace per la grafica, ossia System.Drawing.
Di seguito si riporta il frammento di codice delle suddette operazioni.
C#
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
Nell'evento click di un pulsante in un progetto di tipo Windows Application, applicheremo tale effetto ad un'immagine esistente, dopo aver creato un oggetto con la stessa immagine.
Di seguito si riporta il codice per la gestione delle immagine, con alcuni commenti che illustrano i vari passaggi.
C#
private void BtnEffettoVortice_Click(object sender, EventArgs e)
{
try
{
string percorsoNomeFileOriginale = "C:\\varie\\uccelli.jpg";
string percorsoNomeNuovoFile = "C:\\varie\\uccelliEffettoVortice.jpg";
Bitmap originalImage = new Bitmap(percorsoNomeFileOriginale);
Bitmap vortexImage = new Bitmap(originalImage.Width, originalImage.Height);
int centerX = originalImage.Width / 2;
int centerY = originalImage.Height / 2;
double vortexStrength = 0.2;
double maxDistance = Math.Sqrt(centerX * centerX + centerY * centerY); // Distanza massima dal centro
for (int y = 0; y < originalImage.Height; y++)
{
for (int x = 0; x < originalImage.Width; x++)
{
// Calcola la distanza dal centro
double dx = x - centerX;
double dy = y - centerY;
double distance = Math.Sqrt(dx * dx + dy * dy);
// Normalizza la distanza per influenzare l'angolo in modo più uniforme
double normalizedDistance = distance / maxDistance;
//Calcola l'angolo, impostato dalla distanza normalizzata
double angle = Math.Atan2(dy, dx) + vortexStrength * (1 - normalizedDistance) * 5; // Regola il moltiplicatore
//Calcola le nuove coordinate
int newX = (int)(centerX + distance * Math.Cos(angle));
int newY = (int)(centerY + distance * Math.Sin(angle));
//Assicura che le nuove coordinate siano all'interno dei limiti
if (newX >= 0 && newX < originalImage.Width && newY >= 0 && newY < originalImage.Height)
{
vortexImage.SetPixel(x, y, originalImage.GetPixel(newX, newY));
}
}
}
vortexImage.Save(percorsoNomeNuovoFile);
MessageBox.Show("Immagine con effetto vortice creata con successo.");
}
catch (System.Exception ex)
{
MessageBox.Show("Errore: " + ex.Message);
}
}
domenica 9 novembre 2025
C# creare una nuova immagine con effetto di invertire parte destra con quella sinistra e viceversa in .Net 9
In questo frammento di codice nel linguaggio di programmazione C#, vedremo come invertire in un'immagine esistente, la parte sinistra con la parte destra.
Utilizzeremo la versione del .Net Framework 9, in un progetto di tipo Windows Application, utilizzando le classi presenti nello spazio dei nomi "System.Drawing".
In visualizzazione codice, in alto sopra ad ogni dichiarazione, aggiungiamo lo spazio dei nomi per la gestione della grafica.
C#
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
Nell'evento click di un pulsante, aggiungiamo il seguente frammento di codice, che crea un nuova immagine, da una esistente, invertendo la parte sinistra in quella destra.
C#
private void BtnSinistraDestra_Click(object sender, EventArgs e)
{
try
{
string percorsoNomeFileOriginale = "C:\\varie\\uccelli.jpg";
string percorsoNomeNuovoFile = "C:\\varie\\uccelliSinistraDestra.jpg";
//Immagine originale
using (Bitmap bmpImmagineOriginale = new Bitmap(percorsoNomeFileOriginale))
{
//Nuova immagine per effetto destra e sinistra
Bitmap bmpNuovaImmagine = new Bitmap(bmpImmagineOriginale.Width, bmpImmagineOriginale.Height);
//Inverte l'immagine orizzontalmente
for (int x = 0; x < bmpImmagineOriginale.Width; x++)
{
for (int y = 0; y < bmpImmagineOriginale.Height; y++)
{
// Prendi il colore del pixel dall'immagine originale
Color pixelColor = bmpImmagineOriginale.GetPixel(x, y);
// Imposta il colore del pixel nella posizione speculare nell'immagine capovolta
// Per un capovolgimento orizzontale, l'asse X viene invertito
bmpNuovaImmagine.SetPixel(bmpImmagineOriginale.Width - 1 - x, y, pixelColor);
}
}
bmpNuovaImmagine.Save(percorsoNomeNuovoFile);
MessageBox.Show("Immagine con effetto invertita sinistra in destra creata con successo");
}
}
catch (System.Exception ex)
{
MessageBox.Show("Errore: " + ex.Message);
}
}
sabato 8 novembre 2025
Tutorial Asp.Net web API MongoDB : Creazione servizio Asp.Net Core API con il database MongoDB
C#
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
C#
using MongoDB.Bson;
using
MongoDB.Bson.Serialization.Attributes;
namespace WebMongoDB.Models
{
public class Dati
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string? Id { get; set; }
[BsonElement("nome")]
public string Nome { get; set; } = null!;
[BsonElement("cognome")]
public string Cognome { get; set; } = null!;
[BsonElement("email")]
public string Email { get; set; } = null!;
[BsonElement("data_nascita")]
public DateTime
DataNascita { get; set; }
}
}
//Connection string per il database MongoDB
"MongoDBSettings": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "Amministrazione",
"CollectionName": "Dati"
},
{
//Connection string for MongoDB
"MongoDBSettings": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "Amministrazione",
"CollectionName": "Dati"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
C#
public class DatiSettings
{
public string
ConnectionString { get; set; } = null!;
public string DatabaseName
{ get; set; } = null!;
public string
CollectionName { get; set; } = null!;
}
using WebMongoDB.Models;
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<DatiSettings>(
builder.Configuration.GetSection("MongoDBSettings"));
C#
using MongoDB.Driver;
using Microsoft.Extensions.Options;
C#
private readonly IMongoCollection<Dati>
_datiCollection;
C#
public DatiServizi(IOptions<DatiSettings> datiSettings)
{
var mongoClient = new MongoClient(datiSettings.Value.ConnectionString);
var mongoDatabase =
mongoClient.GetDatabase(datiSettings.Value.DatabaseName);
_datiCollection = mongoDatabase.GetCollection<Dati>(datiSettings.Value.CollectionName);
}
C#
//Metodo
per ottenere tutti i documenti dalla collezione
public async Task<List<Dati>> GetAsync() =>
await _datiCollection.Find(_ => true).ToListAsync();
//Metodo
per ottenere un documento specifico tramite l'Id
public async Task<Dati?> GetAsync(string id) =>
await _datiCollection.Find(x => x.Id ==
id).FirstOrDefaultAsync();
//Metodo
per creare un nuovo documento
public async Task CreateAsync(Dati newDati) =>
await _datiCollection.InsertOneAsync(newDati);
//Metodo
per aggiornare un documento esistente
public async Task UpdateAsync(string id, Dati updatedDati)
=>
await _datiCollection.ReplaceOneAsync(x => x.Id == id,
updatedDati);
//Metodo
per eliminare un documento tramite l'Id
public async Task RemoveAsync(string id) =>
await _datiCollection.DeleteOneAsync(x => x.Id == id);
C#
using
Microsoft.Extensions.Options;
using MongoDB.Driver;
using WebMongoDB.Models;
namespace WebMongoDB.Servizi
{
public class DatiServizi
{
private readonly IMongoCollection<Dati> _datiCollection;
//Nel costruttore inizializzo le impostazioni di
connessione a MongoDB
public DatiServizi(IOptions<DatiSettings> datiSettings)
{
var mongoClient = new MongoClient(datiSettings.Value.ConnectionString);
var mongoDatabase = mongoClient.GetDatabase(datiSettings.Value.DatabaseName);
_datiCollection =
mongoDatabase.GetCollection<Dati>(datiSettings.Value.CollectionName);
}
//Metodo per ottenere tutti i documenti dalla collezione
public async Task<List<Dati>> GetAsync() =>
await _datiCollection.Find(_ => true).ToListAsync();
//Metodo per ottenere un documento
specifico tramite l'Id
public async Task<Dati?> GetAsync(string id) =>
await _datiCollection.Find(x => x.Id ==
id).FirstOrDefaultAsync();
//Metodo per creare un nuovo
documento
public async Task CreateAsync(Dati newDati) =>
await _datiCollection.InsertOneAsync(newDati);
//Metodo per aggiornare un documento esistente
public async Task UpdateAsync(string id, Dati updatedDati) =>
await _datiCollection.ReplaceOneAsync(x => x.Id == id,
updatedDati);
//Metodo per eliminare un documento
tramite l'Id
public async Task RemoveAsync(string id) =>
await _datiCollection.DeleteOneAsync(x => x.Id == id);
}
}
builder.Services.AddSingleton<DatiServizi>();
C#
using
WebMongoDB.Models;
using WebMongoDB.Servizi;
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<DatiSettings>(
builder.Configuration.GetSection("MongoDBSettings"));
builder.Services.AddSingleton<DatiServizi>();
C#
using Microsoft.AspNetCore.Mvc;
using WebMongoDB.Servizi;
namespace WebMongoDB.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DatiControllers : ControllerBase
{
private readonly DatiServizi _datiServizi;
public DatiControllers(DatiServizi datiServizi ) {
_datiServizi = datiServizi;
}
}
}
C#
using Microsoft.AspNetCore.Mvc;
using WebMongoDB.Models;
using WebMongoDB.Servizi;
namespace WebMongoDB.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DatiControllers : ControllerBase
{
private readonly DatiServizi _datiServizi;
public DatiControllers(DatiServizi datiServizi ) {
_datiServizi
= datiServizi;
}
[HttpGet]
public async Task<List<Dati>> Get() {
return await _datiServizi.GetAsync() ;
}
[HttpGet("{id:length(24)}")]
public async Task<ActionResult<Dati>> Get(string id) {
var dati = await
_datiServizi.GetAsync(id);
if (dati is null) {
return NotFound();
}
return dati ;
}
[HttpPost]
public async Task<IActionResult> Post(Dati newDati) {
await _datiServizi.CreateAsync(newDati);
return CreatedAtAction(nameof(Get), new { id = newDati.Id }, newDati);
}
[HttpPut("{id:length(24)}")]
public async Task<IActionResult> Update(string id, Dati updatedDati) {
var dati = await
_datiServizi.GetAsync(id);
if (dati is null) {
return NotFound();
}
updatedDati.Id = dati.Id;
await _datiServizi.UpdateAsync(id, updatedDati);
return NoContent();
}
[HttpDelete("{id:length(24)}")]
public async Task<IActionResult> Delete(string id) {
var dati = await
_datiServizi.GetAsync(id);
if (dati is null) {
return NotFound();
}
await _datiServizi.RemoveAsync(id);
return NoContent();
}
}
}
C#
using WebMongoDB.Models;
using WebMongoDB.Servizi;
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<DatiSettings>(
builder.Configuration.GetSection("MongoDBSettings"));
builder.Services.AddSingleton<DatiServizi>();
// Add services to the container.
builder.Services.AddControllers().AddJsonOptions(
options =>
options.JsonSerializerOptions.PropertyNamingPolicy = null);
C#
[JsonPropertyName("nome")]
[BsonElement("nome")]
public string Nome { get; set; } = null!;
C#
using MongoDB.Bson;
using
MongoDB.Bson.Serialization.Attributes;
using
System.Text.Json.Serialization;
namespace WebMongoDB.Models
{
public class Dati
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string? Id { get; set; }
[JsonPropertyName("nome")]
[BsonElement("nome")]
public string Nome { get; set; } = null!;
[BsonElement("cognome")]
public string Cognome { get; set; } = null!;
[BsonElement("email")]
public string Email { get; set; } = null!;
[BsonElement("data_nascita")]
public DateTime
DataNascita { get; set; }
}
}
















